<%-- 
    Document   : CON_COMPROBANTE
    Created on : 26-ago-2014, 9:22:55
    Author     : equipo_4
    apara añadir comprobante reccurente buscar (comprobante recurrente y aumentar en los if)
--%>

<%@page import="CONTABILIDAD_MODELO.CON_CARGO_CUENTA"%>
<%@page import="RRHH_Modelo.RHH_CARGO_DEP_REG_SUC"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.util.StringTokenizer"%>
<%@page import="CONTABILIDAD_MODELO.CON_FECHA_CIERRE"%>
<%@page import="ADMINISTRACION_MODELO.ADM_SUCURSAL_PROVEEDOR"%>
<%@page import="Modelo.SIS_ACCEDIDOS"%>
<%@page import="CONTABILIDAD_MODELO.CON_PROYECTO"%>
<%@page import="CONTABILIDAD_MODELO.CON_COMPROBANTE"%>
<%@page import="CONTABILIDAD_MODELO.CON_MONEDA"%>
<%@page import="java.util.List"%>
<%@page import="CONTABILIDAD_MODELO.CON_CUENTA_CONTABLE"%>
<%@page import="RRHH_Modelo.RHH_REGIONAL"%>
<%@page import="RRHH_Modelo.RHH_REGIONAL_DEPTO"%>
<%@page import="RRHH_Modelo.RHH_CARGO"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Date"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
         <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
         <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
        <script src="../js/jquery-ui.js" type="text/javascript"></script>
        <script src="../js/jquery.ui.touch-punch.js" type="text/javascript"></script>
        <script src="../js/jspdf.min.js" type="text/javascript"></script>
    </head>
    <body>
        <%
            
            RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));
            Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
            
            double tipo = Double.parseDouble(request.getParameter("tipo"));
            
            
            SIS_ACCEDIDOS accedido = new SIS_ACCEDIDOS("CONTABILIDAD/CON_COMPROBANTE.jsp?tipo="+tipo, usuario.getID(), "COMPROBANTE");
            accedido.setCon(con);
            accedido.Insertar();
                                    
            CON_COMPROBANTE comprobante = new CON_COMPROBANTE();
            comprobante.setCon(con);            
            
            RHH_REGIONAL regional = new RHH_REGIONAL(con);
            regional.setCon(con);
            List<RHH_REGIONAL> listareg = regional.Todos();;                        
            
            DateFormat format5 = new SimpleDateFormat("dd");
            DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
            
            Date dt =Calendar.getInstance().getTime();  
            
            CON_FECHA_CIERRE fecha = new CON_FECHA_CIERRE();
            fecha.setCon(con); 

            int mes=fecha.mesActual();
            int ano=fecha.anoActual();
            
            if (fecha.isCierre(ano, mes)) 
            {
                Calendar cal = Calendar.getInstance();
                cal.set(Calendar.MONTH, mes-1);
                cal.set(Calendar.YEAR, ano);
                cal.set(Calendar.DAY_OF_MONTH, 1);// This is necessary to get proper results
                cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE));
                dt =cal.getTime();
            }
            
            
            
        %>
        <div id="CuerpoFormulario">
            <div  class="centrado">
                <div style="font-weight: bolder" id="titulo">UNIVERSAL BROKER S.A.</div>
                <div style="font-size: 12px" id="gestion">Gestion <%out.print(ano);%></div>
            </div>
            <div  class="centrado">
                <input type="hidden" name="tipo" value="<%out.print(tipo);%>"/>
                <%      
                    
                    if(tipo==0)
                        out.print("<div style='font-weight: bolder' id='subtitulo'>COMPROBANTE DE <span id='tipo' data-id='0.0'>INGRESO</span> Nº <span id='idcomprovante'>"+comprobante.GenerarCodigoComprobante(tipo,mes,ano)+"</span>-<span id='fechaComprobante'>"+mes+"-"+ano+"</span></div>");
                    if(tipo==1)
                        out.print("<div style='font-weight: bolder' id='subtitulo'>COMPROBANTE DE <span id='tipo' data-id='1.0'>EGRESO</span> Nº <span id='idcomprovante'>"+comprobante.GenerarCodigoComprobante(tipo,mes,ano)+"</span>-<span id='fechaComprobante'>"+mes+"-"+ano+"</span></div>");
                    if(tipo==2)
                    {
                        int codigo = comprobante.GenerarCodigoComprobante(tipo,mes,ano);
                        out.print("<div style='font-weight: bolder' id='subtitulo'>COMPROBANTE DE <span id='tipo' data-id='2.0'>TRASPASO</span> Nº <span id='idcomprovante'>"+codigo+"</span>-<span id='fechaComprobante'>"+mes+"-"+ano+"</span></div>");
                    }
                    CON_MONEDA moneda = new CON_MONEDA();
                    moneda.setCon(con);
                    moneda=moneda.getMonedaBase(0);
                %>            
                <div style="font-size: 12px" id='expresado'>(Expresado en <a id="cambio" href="#" onclick="cambiarcambio(this)"><%out.print(moneda.getACRONIMO());
                %></a> )
                </div>
            </div>
            <div style='margin: 30px auto; '>    
                <span class="negrilla">Fecha:</span> 
                <select name="regional">
                    <%
                     
                        for(int i =0; i<listareg.size(); i++)
                        {
                            if(listareg.get(i).getREGIONAL_CONTABLE()==0.0)
                                out.print("<option value='"+listareg.get(i).getID()+"' selected>"+listareg.get(i).getACRONIMO()+"</option>");
                            else
                                out.print("<option value='"+listareg.get(i).getID()+"'>"+listareg.get(i).getACRONIMO()+"</option>");
                        }  
                                                
                        
                        String fechaActual=format5.format(dt)+" "+fecha.getMes(mes)+" "+ano;
                        String fechaActual2=format5.format(dt)+"/"+mes+"/"+ano;                        
                    %>
                </select>
                <input id="fechaFormulario" type="text" value="" readonly="readonly"/>
                <div><span class="negrilla">Concepto:</span><input  type="text" name="concepto" value="" class="Extragrande"/></div>
                <div id="cargoCuenta" style="display: none"><span>cargo de cuenta:</span><input type="checkbox"/></div>
                <div style="overflow-y: auto; height: 310px; margin-bottom: 13px;">
                    <table border="1" style="margin: 0;">
                        <thead>
                            <th  style="display: block; width: 37px;">CC</th>
                            <th class="normal">CODIGO</th>
                            <th class="Extragrande">CUENTA</th>
                            <th>GLOSA</th>
                            <th>DEBE</th>
                            <th>HABER</th>
                            <th>DEBE</th>
                            <th>HABER</th>
                            <th style="width: 120px; display: block;">ACCIONES</th>
                        </thead>
                        <tbody id="detallet">                        
                            <tr>
                                <td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>
                                <td><input class="normal" autofocus="true" name="codigoCuenta" data-padre='' type="text" />
                                    <ul class='contenedorCC'></ul>
                                </td>
                                <td><input class="Extragrande" name="cuenta" type="text" />
                                <ul class='contenedorCC'></ul>
                                </td>
                                <td><input class="mediano" name="glosa" type="text" />
                                <ul class='contenedorCC'></ul>
                                </td>
                                <td><input class="pequeño" name="debe"    type="text"  />
                                <ul class='contenedorCC'></ul>
                                </td>
                                <td><input class="pequeño" name="haber"    type="text"  />
                                <ul class='contenedorCC'></ul>
                                </td>
                                <td><span class="pequeño" name="debeCambio" ></span>
                                <ul class='contenedorCC'></ul>
                                </td>
                                <td><span class="pequeño" name="haberCambio" ></span>
                                <ul class='contenedorCC'></ul>
                                </td>               
                                <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a>
                                 <a href='#'  name='iconFactura' onclick='factura(this)'><img src='../img/iconos/factura.jpg' alt=''/></a>
                                 <a href='#'  name='iconCheque' onclick='cheque(this)'><img src='../img/iconos/factura.png' alt=''/></a>
                                 <a name="proyecto" data-id='0' href='#' onclick='abrirProyecto(this)'><img src="../img/iconos/Proyecto.jpg" alt=""/></a><span style="display: inline-block"></span><span style="display: inline-block"></span>
                                 <ul class='contenedorCC'></ul>
                                 </td>
                            </tr>
                        </tbody>
                        <tfoot>
                           <tr>
                             <td colspan="6" style="text-align: right;">TOTAL:</td>
                             <td><span id="totaldebeCambio" class="negrillaenter"></span><span class="color:red;" id="faltaDebe" style="display:block;"></span></td>
                             <td><span id="totalhaberCambio" class="negrillaenter"></span><span class="color:red;" id="faltaHaber" style="display:block;"></span></td>
                             <td colspan="4"></td>
                           </tr>
                         </tfoot>
                    </table>
                </div>
                <span class="negrilla">Son: </span>
                <input class="Extragrande" disabled="disabled" id="montoliteral" type="text">
                <span class="negrilla">Descripcion</span>
                 <input id="descripcion"  class="Extragrande" type="text"> 
                
                <div id="popUpCarga" class="Extragrande"><img src="../img/iconos/ajax-loader.gif" alt=""/> <span class="negrilla">Cargando las cuentas espere por favor</span></div>
                <div id="popUpbackGround"></div>
                <div id="popUpSucursal" class="popup">
                    <span class="subTituloSubContenedor">CREACION DE SUCURSAL</span>
                    <div id="map" class="centrado" style="width: 250px; height: 200px; background: blue;"></div>
                    <span class="negrillaenter">Direccion</span>
                    <input name="direccions" type="text" class="Extragrande" />
                    <span class="negrillaenter">Telefono</span>
                    <input name="telefonos" type="text" class="mediano" /><br>
                    <button onclick="nuevaSucursal(1)">Crear</button>
                    <button onclick="nuevaSucursal(2)">Cancelar</button>
                </div>
                <div id="popUpFacturaProvedor"  style='display: none;SS' class="Extragrande2 popup">
                    <span class="subTituloSubContenedor">INGRESO DE FACTURA</span>
                    <input  name="anulado_Factura" type="checkbox"/>
                    <span class="negrilla">Anulado</span><br>
                    
                    <div class="contenedor50">
                        <span class="negrillaenter">NIT</span>
                        <input  name="nit" type="text" class="normal" required/>
                    </div>
                    <div class="contenedor50">
                        <span class="negrillaenter">Fecha Factura</span>
                        <input  name="fechaFactura" type="text" required value="<%out.print(fechaActual2);%>" class="mediano"/>
                    </div>
                    <div style="padding: 10px;">
                        <span class="negrillaenter">Razon Social</span>
                        <input  name="razonSocial" type="text" required class="Extragrande"/>
                    </div>
                    <div class="contenedor50">
                       <span class="negrillaenter">Nro. Factura</span>
                       <input  name="nroFactura" type="text" required class="mediano"/> 
                    </div>
                    <div class="contenedor50">
                       <span class="negrillaenter">Autorizacion</span>
                       <input  name="autorizacion" type="text" required class="mediano"/>
                    </div>
                    <div class="contenedor50">
                        <span class="negrillaenter">Codigo Control</span>
                        <input  name="codigoControl" type="text" required class="mediano"/>
                    </div>
                    <div class="contenedor50">
                        <span class="negrillaenter" style="">Sucursal</span>
                        <select name="sucursalFactura" style="margin-bottom: 15px;" class="mediano">
                            
                        </select> 
                        <span class="negrilla" id="panelsucursal" onclick="abrirPanelSucursal(this)">+</span>
                    </div>
                    <div class="contenedor50" style="">
                        <span class="negrillaenter">Caracteristicas</span>
                        <select name="caracteristicaFactura" class="mediano">
                              <option value="3">Mercado Interno</option>
                              <option value="1">Importacion</option>
                            <option value="2">Exportacion</option>
                        </select>    
                    </div>
                    <div class="contenedor50" style="">
                        <span class="negrillaenter">Tipo Factura</span>
                        <select name="tipoFactura" class="mediano">
                           <option value="1">Activos</option>
                           <option value="2">Fungibles</option>
                           <option value="3">Servicios</option>
                        </select>    
                    </div>
                    <div class="contenedor30">
                        <span class="negrillaenter">Monto</span>
                        <input  name="montofactura" required  type="text" class="chico"/>
                    </div>
                    <div class="contenedor30">
                        <span class="negrillaenter">ICE</span>
                        <input  name="ice" type="text"  class="chico"/>
                    </div>
                    <div class="contenedor30">
                         <span class="negrillaenter">Excento</span>
                         <input  name="excento" type="text" class="chico"/>
                    </div>                    
                    <button onclick="facturaGuardar(1)" class="normal">Guardar</button>
                    <button onclick="facturaGuardar(0)" class="normal">Cancelar</button>
                </div>
                
                <div id="popUpCheque"   style='display: none;' class="Extragrande2 popup">
                    <span class="subTituloSubContenedor">INGRESO DE CHEQUE</span>
                    <input  name="anulado_Cheque" type="checkbox"/>
                    <span class="negrilla">Anulado</span><br>
                    <div class="contenedor50">
                        <span class="negrillaenter">Numero Cheque</span>
                        <input  name="nro_Cheque" type="text" class="normal"/>
                    </div>
                    <div class="contenedor50">
                        <span class="negrillaenter">Fecha Cheque</span>
                        <input  name="fecha_Cheque" type="text" value="<%out.print(fechaActual2);%>" class="mediano"/>
                    </div>
                    <div style="padding: 10px;">
                        <span class="negrillaenter">Nombre</span>
                        <input  name="nombre_Cheque" type="text" class="Extragrande"/>
                    </div>
                    <div class="contenedor50">
                       <span class="negrillaenter">Monto</span>
                       <input  name="monto_Cheque" type="text" class="mediano"/> 
                    </div>
                    <div class="contenedor50">
                       <span class="negrillaenter">Monto Literal</span>
                       <input  name="monto_literal_Cheque" disabled type="text" class="mediano"/>
                    </div>
                    
                    <button onclick="chequeGuardar(1)" class="normal">Guardar</button>
                    <button onclick="chequeGuardar(0)" class="normal">Cancelar</button>
                </div>
                <div id="popUpContent" class="Extragrande">
                    <input id="idCentroCosto"  type="hidden"/>
                </div>
                    <div id="popUpTipoCambio" style="width: 235px">
                </div>
            </div>                
        </div>
        <footer >
            <a  href="#" id="CrearNuevo"><img src="../img/iconos/generarComprobante.png" alt=""/><br/>
               Generar
            </a >
            <a  href="#" id="Copia"><img  src="../img/iconos/copiarComprobante.png" alt=""/><br/>
               Copiar
            </a >
            <a  href="#" id="nuevoc"><img  src="../img/iconos/nuevoComprobante.png" alt=""/><br/>
               Nuevo
            </a >
            
            <a href="#" id="imprimir" onclick="imprimirPdf();" style="display: none;"><img src="../img/iconos/imprimir.png" /><br/>
                IMPRIMIR
            </a>
            <a href="#" id="exportar" onclick="exportarPdf();" style="display: none;"><img src="../img/iconos/pdf.png" /><br/>
                EXPORTAR PDF
            </a>
        </footer>
        <div class="popup" id="popUpcopiar">
            <span class="negrillaenter">Los datos del comprobante se copiaran en:</span><br>
            <div class="centrado">
                <button onclick="copiarComprobante(0)" class="normal">INGRESO</button>
                <button onclick="copiarComprobante(1)" class="normal">EGRESO</button>
                <button onclick="copiarComprobante(2)" class="normal">TRASPASO</button>
            </div>
        </div>
        <div id="contenedorRetenciones" style="display: none;" class="grande"></div>
        <div id="contenedorProyecto" style="display: none;" class="grande" >
            <%
                CON_PROYECTO proyecto=new CON_PROYECTO();
                proyecto.setCon(con);
                List<CON_PROYECTO> list=proyecto.Todos();
                for (int i = 0; i < list.size(); i++) {
                    out.print("<a href='#' class='negrillaenter' data-id='"+(int)list.get(i).getID()+"' onclick=\"seleccionarProyecto(this,"+list.get(i).getID()+")\">"+list.get(i).getDESCRIPCION()+"</a>");
                }                
            %>
        </div>
        <span id="resultado"></span>
        <span id="resultado_codigo"></span>
        
        
        <div class="Extragrande popup" id="popUpAccion" style="display: none">
            <span name="mensaje" class="negrillaenter">Hola</span>
            <button onclick="nuevaAccion(1)">Nuevo Comprobante</button>
            <button onclick="nuevaAccion(2)">Modificar</button>
            <button onclick="nuevaAccion(3)">Copiar</button>
            <button onclick="redireccionarLista()">OK</button>
            
        </div>
        <script type="text/javascript">
            var codigo_recurrente = 0.0;
            var dia = <%out.print(format5.format(dt));%>;
            var mes = <%out.print(mes-1);%>;
            var ano = <%out.print(ano);%>;
            $("#fechaFormulario").datepicker({ 
                dateFormat: "dd MM yy",
                closeText: 'Cerrar',
                prevText: '',
                nextText: '',
                firstDay: 1,
                dayNames: [ "Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado" ],
                dayNamesMin: [ "Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa" ],
                monthNames: [ "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" ],
                monthNamesShort: [ "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dec" ],
                onSelect: function(dateText) {   
                    
                }
            });
            $("#fechaFormulario").datepicker("setDate", new Date(ano,mes,dia));
            
            
            var elementoProyecto;
            function abrirProyecto(elemento){
                popupCancel++;
                if($(elemento).data("evento")==0)return;
                 var posicion = $(elemento).position();
                $("#contenedorProyecto").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:0.7,
                           display:"block"
                });
                var id=$(elemento).data("id");
                $("#contenedorProyecto a").css("background","none");
                if(typeof(id)!="undefined")
                $("#contenedorProyecto a[data-id="+id+"]").css("background","silver");
                elementoProyecto=elemento;
            }
            var listaFactura = [];
            function abrirPanelSucursal(elemento){
                if($(elemento).text()=="+"){
                    if(proovedor==0){
                        alert("EL NIT Y RAZON SOCIAL SON OBLIGATORIAS PARA CREAR SUCURSALES");
                        return;
                    }
                    $(elemento).text("-");
                    var x=$("#popUpFacturaProvedor").position().top;
                    var y=$("#popUpFacturaProvedor").position().left;
                    var w=$("#popUpFacturaProvedor").width();
                    var h=$("#popUpFacturaProvedor").height();
                    $("#popUpSucursal").css({
                        display:"block",
                        top:x+"px",
                        left:(y+w-300)+"px",
                        width:"300px",
                        height:h+"px",
                        opacity:0.2
                    });
                    $( "#popUpSucursal" ).animate({
                        left:(y+w+30)+"px",
                        opacity:1
                    }, 1000, function() {
                        
                    });
                }
                else{
                    ocultarPanelsucursal();
                }
            }
            function ocultarPanelsucursal(){
                $("#panelsucursal").text("+");
                var x=$("#popUpFacturaProvedor").position().top;
                var y=$("#popUpFacturaProvedor").position().left;
                var w=$("#popUpFacturaProvedor").width();
                var h=$("#popUpFacturaProvedor").height();
                $( "#popUpSucursal" ).animate({
                     left:(y+w-305)+"px",
                     opacity:0.2
                }, 1000, function() {

                });
            }
            function facturaGuardar(tipo){
                if(tipo==1){
                    var id=removerFacturaCheque(1);
                    var nit = $("input[name=nit]").val();
                    var fecha= $("input[name=fechaFactura]").val();
                    var nro= $("input[name=nroFactura]").val();
                    var caracteistica= $("select[name=caracteristicaFactura] option:selected").text();
                    var autorizacion= $("input[name=autorizacion]").val();
                    var tipo= $("select[name=tipoFactura] option:selected").text();
                    var sucursal= $("select[name=sucursalFactura] option:selected").val();
                    var codigoControl= $("input[name=codigoControl]").val();
                    var razon=$("input[name=razonSocial]").val();
                    codigoControl=codigoControl==""?"null":codigoControl;
                    var montofactura= $("input[name=montofactura]").val();
                    var ice= $("input[name=ice]").val();
                    ice=ice==""?0:ice;
                    var excento= $("input[name=excento]").val();
                    excento=excento==""?0:excento;
                    var tex="";
                    if(nit.length==0){
                        tex+="-El Nit se encuentra vacio\n";
                    }
                    if(fecha.length==0){
                        tex+="-Seleccione una fecha\n";
                    }
                    if(nro.length==0){
                        tex+="-El Nro. Factura se encuentra vacio\n";
                    }
                    if(autorizacion.length==0){
                        tex+="-La autorizacion se encuentra vacia\n";
                    }
                    if(codigoControl.length==0){
                        tex+="-El codigo control se encuentra vacio\n";
                    }
                    if(montofactura.length==0){
                        tex+="-El codigo control se encuentra vacio\n";
                    }
                    if(tex.length>0){
                        alert(tex);
                        return;
                    }
                    var anulado= $("input[name=anulado_Factura]:checked").length;

                    var item = [];
                    listaFactura.push({
                       i:indexFactura,
                       y:indexFacturaLi,
                       nit:nit,
                       id:id,
                       fecha:fecha,
                       nro:nro,
                       rz:razon,
                       caracteristica:caracteistica,
                       autorizacion:autorizacion,
                       tipo:tipo,
                       sucursal:sucursal,
                       codigocontrol:codigoControl,
                       monto:montofactura,
                       ice:ice,
                       excento:excento,
                       anulado_Factura:anulado
                    });
                    var tr =$("#detallet tr:eq("+indexFactura+")");
                   
                    $.post(url,{proceso:"creditoFisctal"},function(responsetext){
                        var json =$.parseJSON(responsetext);
                        var porcentaje=1-(truncarDecimal(json.retencion)/100);
                        var exc=parseFloat(excento)+parseFloat(ice);
                        var resultado=((montofactura-exc)*porcentaje)+exc;
                         if(indexFacturaLi==-1){
                            $("#detallet tr:eq("+indexFactura+") a[name='iconFactura']").html("<img src='../img/iconos/factura2.jpg' alt=''/>");
                            tr.find("a[name='iconFactura']").html("<img src='../img/iconos/factura2.jpg' alt=''/>");
                            tr.find("input[name=debe]").val(resultado);
                            tr.find("input[name=haber]").val("");
                            tr.find("input[name=glosa]").val("Factura");  
                        }else{
                            $("#detallet tr:eq("+indexFactura+") td:eq(8) ul li:eq("+indexFacturaLi+") a[name='iconFacturaCC']").html("<img src='../img/iconos/factura2.jpg' alt=''/>");
                            $("#detallet tr:eq("+indexFactura+") td:eq(4) ul li:eq("+indexFacturaLi+") input").val(resultado);
                            $("#detallet tr:eq("+indexFactura+") td:eq(5) ul li:eq("+indexFacturaLi+") input").val("");
                            $("#detallet tr:eq("+indexFactura+") td:eq(3) ul li:eq("+indexFacturaLi+") input").val("Factura");
                        }
                        creditoFiscal(json.codigo,json.retencion,json.moneda,json.descripcion,montofactura-exc);

                    });
                }
                proovedor=0;
                $("#popUpFacturaProvedor").css("display","none");
                $("#popUpSucursal").css("display","none");
                $("#popUpbackGround").css("display","none");
                $("input[name=nit]").val("");
                $("input[name=razonSocial]").val("");
                $("input[name=nroFactura]").val("");
                $("select[name=caracteristicaFactura] option:eq(0)").attr("selected","selected");
                $("input[name=autorizacion]").val("");
                $("select[name=tipoFactura] option:eq(0)").attr("selected","selected");
                $("select[name=sucursalFactura] option:eq(0)").attr("selected","selected");;
                $("input[name=codigoControl]").val("");
                $("input[name=montofactura]").val("");
                $("input[name=ice]").val("");
                $("input[name=excento]").val("");
            }
            var listaCheque=[];
            function removerFacturaCheque(tipo){
                var id=0;
                if(tipo==1){
                    $.each(listaFactura,function(i,item){
                        if(item.i==indexFactura && item.y==indexFacturaLi){
                            id=item.id;
                            listaFactura.splice(i, 1);
                            var cr=$("input[data-tr='"+indexFactura+"'][data-li='"+indexFacturaLi+"']");
                            if(cr != "undefined"){
                                cr.parent().parent().remove();
                            }
                        }
                    });
                }
                else{
                    $.each(listaCheque,function(i,item){
                        if(item.i==indexCheque && item.y==indexChequeLi){
                            id=item.id;
                            listaCheque.splice(i, 1);
                        }
                    });
                }
                return id;
            }
            function chequeGuardar(tipo){
                if(tipo==1){
                    var id=removerFacturaCheque(2);
                    var numero_Cheque = $("input[name=nro_Cheque]").val();
                    var monto_Cheque= $("input[name=monto_Cheque]").val();
                    var nombre_Cheque= $("input[name=nombre_Cheque]").val();
                    var fecha_Cheque= $("input[name=fecha_Cheque]").val();
                    var monto_literal_Cheque= $("input[name=monto_literal_Cheque]").val();
                    var anulado= $("input[name=anulado_Cheque]:checked").length;
                    var tr=$("#detallet tr:eq("+indexCheque+")");
                    if(indexChequeLi==-1){
                         tr.find("a[name='iconCheque']").html("<img src='../img/iconos/grossing.png' alt=''/>");
                         tr.find("input[name=haber]").val(monto_Cheque);
                    }else{
                         tr.find(" td:eq(8) li:eq("+indexChequeLi+") a[name='iconCheque']").html("<img src='../img/iconos/grossing.png' alt=''/>");
                         tr.find("input[name=haberCC]").val(monto_Cheque)
                    }
                       listaCheque.push({
                       i:indexCheque,
                       y:indexChequeLi,
                       id:id,
                       numero_Cheque:numero_Cheque,
                       monto_Cheque:monto_Cheque,
                       nombre_Cheque:nombre_Cheque,
                       fecha_Cheque:fecha_Cheque,
                       monto_literal_Cheque:monto_literal_Cheque,
                       anulado_Cheque:anulado
                    });                   
                }
                $("#popUpCheque").css("display","none");
                $("#popUpbackGround").css("display","none");
                $("input[name=nro_Cheque]").val("");
                $("input[name=monto_Cheque]").val("");
                $("input[name=nombre_Cheque]").val("");
                $("input[name=monto_literal_Cheque]").val("");
                $("input[name=anuladoC]").prop("checked", "");
            }
            function nuevaAccion(elemento){
                $("#popUpAccion").css("display","none");
                $("#popUpbackGround").css("display","none");
                switch(elemento){
                    case 1:
                         var otratupla="<tr><td></td>"
                                        +"<td><input class='normal' autofocus='true' name='codigoCuenta' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +"<td><input class='Extragrande' name='cuenta' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='mediano' name='glosa' value='' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='debe'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='haber'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                       +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a>"
                                       +" <a href='#' onclick='factura(this)'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                       +" <a name='proyecto' href='#' data-id='0' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'></span><span style='display: inline-block'></span><ul class='contenedorCC'></ul>"
                                       +" </td>"+
                                "</tr>";
                        $("#detallet").html(otratupla);
                        $("#totaldebeCambio").text("");
                        $("#totalhaberCambio").text("");
                        $("#montoliteral").val("");
                        $("#descripcion").val("");
                        $("input[name=concepto]").val("");
                        $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                        eventoTupla($("tr"));
                        idComprobante=null;
                        break;
                    case 2:
                        $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                        estadoModificar=1;
                        idComprobante=0;
                        break;
                    case 3:
                        
                        $.post(url,{proceso:"idcomprobante",tipo:$("#tipo").data("id")},function(responsetext){
                            $("#idcomprovante").html(responsetext);                            
                            $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                            idComprobante=null;    
                        });
                        break;
                }
            }
            function abrirRetenciones(elemento,codigo,accion){
                popupCancel++;
                if($(elemento).data("tipo")==1){
                    return;
                }
                var posicion = $(elemento).position();
                var grossing = $(elemento).data("gross")=="Q"?"Quitar Grossing Up":"Agregar Grossing Up";
                $("#contenedorRetenciones").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:0.7,
                           display:"block"
                });
                var indice = $(elemento).parent().parent().parent().index();
                var glosa = $(elemento).parent().parent().parent().find("td:eq(3) > input").val();
                if(accion==1){
                    $.post(url,{proceso:"RetencionesCuenta",codigo:codigo},function(responsetext){
                        var jsonObj = $.parseJSON('[' + responsetext+ ']');
                        $("#contenedorRetenciones").html("");
                        $.each(jsonObj, function(i, item) {
                            $("#contenedorRetenciones").append("<a href='#' class='negrillaenter' onclick=\"seleccionarRetencion('"+item.codigo+"','"+glosa+"',"+item.retencion+","+item.moneda+","+item.tipo+",this)\">"+item.descripcion+"</a>");                 
                        });
                        $.each(buscarRetencionIngresada(indice), function(i2, item2) {
                            var ele = item2.parent().parent().find("input[name=cuenta]").val();
                            if($("#contenedorRetenciones a:contains('"+ele+"')").length>0){
                                $("#contenedorRetenciones a:contains('"+ele+"')").remove();
                            }    
                        });
                        if(buscarRetencionIngresada(indice).length!=0 && 
                                ($(elemento).data("grossing")==null ||
                                $(elemento).data("grossing")==0)&& 
                                $(elemento).parent().parent().find("li").length==0){
                            $("#contenedorRetenciones").append("<a href='#' class='negrillaenter' style='background: red;' onclick=\"grossingUp(this,1)\">"+grossing+"</a>");
                        }
                    });
                }else{
                    $.post(url,{proceso:"CompraVentaCuenta",codigo:codigo},function(responsetext){
                        var jsonObj = $.parseJSON('[' + responsetext+ ']');
                        $("#contenedorRetenciones").html("");
                        $.each(jsonObj, function(i, item) {
                            $("#contenedorRetenciones").append("<a href='#' class='negrillaenter' onclick=\"seleccionarRetencion('"+item.codigo+"','"+glosa+"',"+item.retencion+","+item.moneda+","+item.tipo+",this)\">"+item.descripcion+"</a>");                 
                        });
                        $.each(buscarRetencionIngresada(indice), function(i2, item2) {
                            var ele = item2.parent().parent().find("input[name=cuenta]").val();
                            if($("#contenedorRetenciones a:contains('"+ele+"')").length>0){
                                $("#contenedorRetenciones a:contains('"+ele+"')").remove()
                            }    
                        });
                    });
                }
                elementoProyecto=elemento;
            }
            
            function buscarRetencionIngresada(id){
               var resl=[];
                $("#detallet tr").each(function(){
                   var item=$(this).find("input[name=codigoCuenta]");
                   var data=item.data("padre")+"";
                   if(id==item.data("padre") && data.length>0 && typeof(item.data("padre")) !="undefined"){
                       resl.push(item);
                   }
                });
                return resl;
            }
            function grossingUp(elemento,tipo){
                var tr;
                $("#contenedorRetenciones").css("display","none");
                if(tipo==1){
                    tr = $(elementoProyecto).parent().parent().parent();
                }else{
                    tr = $(elemento).parent().parent().parent().parent().parent();
                }
                var indice = tr.index();
                var retencion = 0;
                var retencionHaber = 0;
                $.each(buscarRetencionIngresada(indice),function (i,item){
                    var value = item.parent().parent().find("input[name=debe]").val();
                    if( value==0){
                        retencionHaber+=parseFloat(item.data("retencion"));
                    }else{
                        retencion+=parseFloat(item.data("retencion"));
                    }
                });
                var tipo2 = 0;
                if( $(elementoProyecto).data("gross")=="A" || $(elemento).parent().data("gross")=="A"){
                    if(tr.find("li").length == 0){
                       retencion=retencion<=retencionHaber?retencionHaber:retencion;
                       retencion=retencion/100;
                       var deducibleDebe = tr.find("input[name=debe]").data("val")-(retencion*tr.find("input[name=debe]").data("val"));
                       var deducibleHaber= tr.find("input[name=haber]").data("val")-(retencion*tr.find("input[name=haber]").data("val"));
                       var resulatdoDebe = 0;
                       var resulatdoHaber = 0;
                       if(deducibleDebe>0){
                            var monto = parseFloat(tr.find("input[name=debe]").data("val"));
                            resulatdoDebe = (((retencion*monto)/deducibleDebe)+1)*monto;
                       }
                       if(deducibleHaber>0){
                            var monto = parseFloat(tr.find("input[name=haber]").data("val"));
                            resulatdoHaber = (((retencion*monto)/deducibleHaber)+1)*monto;
                       }
                       tr.find("input[name=debe]").val(resulatdoDebe);
                       tr.find("input[name=haber]").val(resulatdoHaber);
                       $(elementoProyecto).data("gross","Q");
                       $("tr input[data-padre="+indice+"]").each(function(){
                           $(this).parent().parent().find("td:eq(8) a").data("evento","0");
                       });
                    }else{
                        var indexLi = $(elemento).parent().parent().index();
                        var debe =  parseFloat(tr.find("td:eq(4) ul li:eq("+indexLi+") input").data("val"));
                        var haber =  parseFloat(tr.find("td:eq(5) ul li:eq("+indexLi+") input").data("val"));
                        var deducibleDebe =debe-((retencionHaber/100)*debe);
                        var deducibleHaber= haber-((retencion/100)*haber);
                        var resulatdoDebe = 0;
                        var resulatdoHaber = 0;
                        if(deducibleDebe>0){
                              retencionHaber=(retencionHaber/100)*debe;
                              resulatdoDebe = ((retencionHaber/deducibleDebe)+1)*debe;
                        }
                        if(deducibleHaber>0){
                              retencion=(retencion/100)*haber;
                              resulatdoHaber = ((retencion/deducibleHaber)+1)*haber;
                        }
                        tr.find("td:eq(4) ul li:eq("+indexLi+") input").val(truncarDecimal(resulatdoDebe+""));
                        tr.find("td:eq(5) ul li:eq("+indexLi+") input").val(truncarDecimal(resulatdoHaber+""));
                        $(elemento).parent().data("gross","Q");
                    }
                    $(elemento).data("estado","0");
                    tipo2=0;
                }else{
                     if(tr.find("li").length == 0){
                         tr.find("input[name=debe]").val(tr.find("input[name=debe]").data("val"));
                         tr.find("input[name=haber]").val(tr.find("input[name=haber]").data("val"));
                         $(elementoProyecto).data("gross","A");
                     }else{
                        var indexLi = $(elemento).parent().parent().index();
                        var debe =  parseFloat(tr.find("td:eq(4) ul li:eq("+indexLi+") input").data("val"));
                        var haber =  parseFloat(tr.find("td:eq(5) ul li:eq("+indexLi+") input").data("val"));
                        tr.find("td:eq(4) ul li:eq("+indexLi+") input").val(debe);
                        tr.find("td:eq(5) ul li:eq("+indexLi+") input").val(haber);
                        $(elemento).parent().data("gross","A");
                     }
                     tipo2=1;
                }
                var listareten=buscarRetencionIngresada(indice);
                $.each(listareten,function(i,item){
                    var codigo =item.val();
                    var glosa = item.parent().parent().find("input[name=glosa]").val();
                    var retencion = parseFloat(item.data("retencion"));
                    var moneda = item.parent().parent().find("input[name=glosa]").data("moneda");
                    var descripcion = item.parent().parent().find("input[name=cuenta]").val();
                    $("#contenedorRetenciones").append("<a href='#' class='negrillaenter' onclick=\"seleccionarRetencion('"+codigo+"','"+glosa+"',"+retencion+","+moneda+","+3+",this)\">"+descripcion+"</a>"); 
                    elementoProyecto=tr.find("td:eq(8) span:eq(1) a");
                    aumentarIndices($(this).parent().parent(),2);
                    $(this).parent().parent().remove();
                    
                    seleccionarRetencion (codigo,glosa,retencion,moneda,3,$("#contenedorRetenciones").find("a:last"));
                    setTimeout(function() 
                    {
                      $(this).parent().parent().next().find("td:eq(8) a").data("evento",tipo2);
                    }, 200);

                });
            }
            function seleccionarRetencion(codigoCuenta,glosa,montoRetencion,moneda,tipo,elemento){
                $.post(url,{proceso:"deducibleFiscal",codigo:codigoCuenta},function(responsetext){
                var tipo2=""+tipo;
                if(responsetext!="0.0" && responsetext!="2.0")tipo2="3";    
                var tr = $(elementoProyecto).parent().parent().parent();
                if(tr.find("input[name=haber]").val()+tr.find("input[name=debe]").val()==0){
                    alert("No se puede aplicar retencion a valores nulos");
                    return;
                }
                var debe=0;
                var haber = 0;
                var debet = 0;
                var habert = 0;
           
               
                cambioManejado(tr.find("input[name=glosa]").data("moneda"));
                var cambio=tipoCambio;
                var porcentaje=montoRetencion/100;
                if(tr.find("li").length >0){
                        var debeli =tr.find("td:eq(4) li input") ;
                        $.each(debeli, function(i, item) {
                             if(tr.find("td:eq(4) ul li:eq("+i+") input").val()==""){
                                 tr.find("td:eq(4) ul li:eq("+i+") input").data("val","0")
                                 tr.find("td:eq(4) ul li:eq("+i+") input").val(0);
                             }
                             if(tr.find("td:eq(5) ul li:eq("+i+") input").val()==""){
                                 tr.find("td:eq(5) ul li:eq("+i+") input").data("val","0");
                                 tr.find("td:eq(5) ul li:eq("+i+") input").val(0);
                             }
                            var debeinput=tr.find("td:eq(4) ul li:eq("+i+") input").val();
                            var haberinput=tr.find("td:eq(5) ul li:eq("+i+") input").val();
                            debe+=parseFloat(debeinput)*cambio;
                            haber+=parseFloat(haberinput)*cambio;
                            tr.find("td:eq(8)").find(".contenedorCC li:eq("+i+") span").html("<a href='#'  onclick= \"grossingUp(this,2)\" name='retencion'><img src='../img/iconos/grossingup.jpg' alt=''/></a>");
                         });
                        if(debe>0 && haber>0){
                            tr.next().remove();
                            tr.next().remove();
                            var otratupla="";
                            if(tipo==0){
                                    otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                                    +"<td><input class='normal' data-retencion='"+montoRetencion+"' data-padre='"+tr.index()+"' autofocus='true' data-tipo='"+tipo2+"' name='codigoCuenta' disabled='disabled' type='text' value='"+codigoCuenta+"' /><ul class='contenedorCC'></ul></td>"
                                                   +"<td><input class='Extragrande' name='cuenta' value='"+$(elemento).text()+"' disabled='disabled' type='text /><ul class='contenedorCC'></ul></td>"
                                                   +" <td><input class='mediano' name='glosa' value='"+glosa+"' data-moneda='"+moneda+"'  type='text' /><ul class='contenedorCC'></ul></td>"
                                                   +" <td><input class='pequeño' name='debe'  disabled='disabled'  value='"+truncarDecimal((debe*porcentaje)+"")+"' type='text'  /><ul class='contenedorCC'></ul></td>"
                                                   +" <td><input class='pequeño' name='haber'   disabled='disabled' value='0' type='text' /><ul class='contenedorCC'></ul></td>"
                                                   +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                                   +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                                   +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                            "</tr>";
                            }else{
                                 otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                                        +"<td><input class='normal' data-retencion='"+montoRetencion+"' data-tipo='"+tipo2+"' data-padre='"+tr.index()+"' autofocus='true' name='codigoCuenta' disabled='disabled' type='text' value='"+codigoCuenta+"' /><ul class='contenedorCC'></ul></td>"
                                                       +"<td><input class='Extragrande' name='cuenta' value='"+$(elemento).text()+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                                       +" <td><input class='mediano' name='glosa' value='"+glosa+"' data-moneda='"+moneda+"' type='text' /><ul class='contenedorCC'></ul></td>"
                                                       +" <td><input class='pequeño' name='debe'  disabled='disabled' value='0'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                                       +" <td><input class='pequeño' name='haber'  value='"+truncarDecimal((debe*porcentaje)+"")+"' disabled='disabled'  type='text' /><ul class='contenedorCC'></ul></td>"
                                                       +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                                       +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                                       +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                                "</tr>";
                                    
                            }
                            debe=0; 
                            tr.after(otratupla);
                            aumentarIndices(tr,1);
                            eventoTupla(tr.next());
                        }
                    }else{
                        var debeinput=tr.find("input[name=debe]").val();
                        var haberinput=tr.find("input[name=haber]").val();
                        debe=parseFloat(debeinput)*cambio;
                        haber=parseFloat(haberinput)*cambio;
                        debet=truncarDecimal((debe-(debe*porcentaje))+"");
                        habert=truncarDecimal((haber-(haber*porcentaje))+"");
                        if((responsetext=="0.0" || responsetext=="2.0") && tipo!=3){
                            if(cambio != 1){
                              tr.find("input[name=debe]").val(debet/cambio);
                             tr.find("input[name=haber]").val(habert/cambio); 
                            }else{
                            tr.find("input[name=debe]").val(debet);
                            tr.find("input[name=haber]").val(habert); }
                        }
                    }
                    var otratupla="";
                    if(tipo==0){
                    otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                            +"<td><input class='normal' data-retencion='"+montoRetencion+"' data-padre='"+tr.index()+"' data-tipo='"+tipo2+"' autofocus='true' name='codigoCuenta' disabled='disabled' type='text' value='"+codigoCuenta+"' /><ul class='contenedorCC'></ul></td>"
                                           +"<td><input class='Extragrande' name='cuenta' value='"+$(elemento).text()+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='mediano' name='glosa' data-moneda='"+moneda+"' value='"+glosa+"' type='text' /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='pequeño' name='debe'  disabled='disabled' value='"+truncarDecimal(debe*porcentaje)+"' type='text'  /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='pequeño' name='haber'  value='"+truncarDecimal(haber*porcentaje)+"' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                           +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                           +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                           +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                    "</tr>";
                    }else{
                          otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                            +"<td><input class='normal' data-retencion='"+montoRetencion+"' data-padre='"+tr.index()+"' data-tipo='"+tipo2+"' autofocus='true' name='codigoCuenta' disabled='disabled' type='text' value='"+codigoCuenta+"' /><ul class='contenedorCC'></ul></td>"
                                           +"<td><input class='Extragrande' name='cuenta' value='"+$(elemento).text()+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='mediano' name='glosa' data-moneda='"+moneda+"' value='"+glosa+"' type='text' /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='pequeño' name='debe'  disabled='disabled' value='"+truncarDecimal(haber*porcentaje)+"' type='text'  /><ul class='contenedorCC'></ul></td>"
                                           +" <td><input class='pequeño' name='haber'  value='"+truncarDecimal(debe*porcentaje)+"' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                           +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                           +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                           +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                    "</tr>";
                    }
                    if(tipo==3){
                       tr.find("td:eq(8) span:eq(1) a").data("tipo","1");
                       tr.find("td:eq(8) span:eq(0) a").data("tipo","3");
                    }
                    if(tipo==1){
                       tr.find("td:eq(8) span:eq(1) a").data("tipo","3");
                       tr.find("td:eq(8) span:eq(0) a").data("tipo","1");
                    }
                    tr.after(otratupla);
                    aumentarIndices(tr,1);
                    
                    eventoTupla(tr.next());
                    $(elemento).remove();
                    tr.find("input").attr("disabled", "disabled");
                    tr.find("a").each(function(){
                        $(this).data("evento","0");
                    });
                    $("#contenedorRetenciones").css("display","none");
                    colorTupla();
                    calcularTotal();
                    actualizar();
                });
            }
            function aumentarIndices(tr,tipo){
                var indice=tr.index();
                $.each(listaCheque,function(i,item){
                    if(item.i>indice && tipo==1){
                        item.i=item.i+1;
                    }
                    if(item.i>=indice && tipo==2){
                        item.i=item.i-1;
                    }
                });
                $.each(listaFactura,function(i,item){
                    if(item.i>indice  && tipo==1){
                        item.i=item.i+1;
                    }
                    if(item.i>=indice && tipo==2){
                        item.i=item.i-1;
                    }
                });
                $("#detallet > tr").each(function(){
                    var tr2=$(this);
                    var indice2= tr2.index();
                    if(indice < indice2){
                        var data=tr2.find("input[name=codigoCuenta]").data("padre");
                        if(typeof(data) != "undefined" && tipo==1 && parseInt(data)>indice){
                            tr2.find("input[name=codigoCuenta]").data("padre",parseInt(data)+1)
                        }
                        if(typeof(data) != "undefined" && tipo==2 && parseInt(data)>indice  ){
                            tr2.find("input[name=codigoCuenta]").data("padre",parseInt(data)-1)
                        }
                    }
                });
            }
            function creditoFiscal(codigoCuenta,montoRetencion,moneda,desc,monto){
                var tr=$("#detallet tr:eq("+indexFactura+")");
                var debe=0;
                cambioManejado(tr.find("input[name=glosa]").data("moneda"));
                var cambio=tipoCambio;
                var porcentaje=montoRetencion/100;
                var otratupla="";
                debe=parseFloat(monto)*cambio;
                otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                  +"<td><input class='normal' data-retencion='"+montoRetencion+"' data-padre='"+tr.index()+"' autofocus='true' name='codigoCuenta' disabled='disabled' type='text' value='"+codigoCuenta+"' /><ul class='contenedorCC'></ul></td>"
                                 +"<td><input class='Extragrande' name='cuenta' data-tr='"+indexFactura+"' data-li='"+indexFacturaLi+"'   value='"+desc+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                 +" <td><input class='mediano' name='glosa' data-moneda='"+moneda+"' value='Credito Fiscal' type='text' /><ul class='contenedorCC'></ul></td>"
                                 +" <td><input class='pequeño' name='debe'  disabled='disabled' value='"+truncarDecimal(debe*porcentaje)+"' type='text'  /><ul class='contenedorCC'></ul></td>"
                                 +" <td><input class='pequeño' name='haber'  value='0' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                 +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                 +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                 +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                          "</tr>";
                tr.after(otratupla);
                eventoTupla(tr.next());
                tr.find("input").attr("disabled", "disabled");
                if(indexFacturaLi==-1){
                    tr.find("input").removeAttr("disabled");
                }
                else{
                    tr.find("td:eq(3) li:eq("+indexFacturaLi+") input").removeAttr("disabled");
                }
                debeHaber("",$("input[name=debe]")[0]);
                indexFactura=-1;
                indexFacturaLi=-1
                actualizar();
            }
            function seleccionarProyecto(ele,idProyecto){
                $(elementoProyecto).data("id",idProyecto);
                $("#contenedorProyecto").css("display","none");
                $(elementoProyecto).parent().css("background","green")
                $(ele).parent().find("a").css("background","none");
            }
            
            var estadoModificar = 0;
            $("#CrearNuevo").click(function(){
                
                //comprobante recurrente
                if((idComprobante != null && estadoModificar==0) ||(idreferencial !=0 && estadoModificar==0) ||(codigo_recurrente<24 && codigo_recurrente>6 && estadoModificar==0)){
                    //validacion para comprobantes recurrentes que tienen mucho decimales para el calculo exponencial
                    
                    if(codigo_recurrente!=5)codigo_recurrente=0;
                    $("#detallet input").removeAttr("disabled");
                    $("#descripcion").removeAttr("disabled");
                    $("input[name=concepto]").removeAttr("disabled");
                    $("select[name=regional]").prop('disabled', false);
                    $("#fechaFormulario").prop('disabled', false);
                    $("#detallet a").css("display","inline-block");
                    if($("#tipo").data("id") != "1.0"){
                        $("#detallet a[name=iconCheque]").css("display","none");
                        $("#detallet a[name=iconChequeCC]").css("display","none");
                    }
                    $("#detallet tr").each(function(){
                       if($(this).find("td:eq(2) ul li").length>0){
                           $(this).find("a[name=proyecto]").css("display","none");
                           $(this).find("a[name=iconFactura]").css("display","none");
                       } 
                    });
                    $.each(listaFactura,function(i,item){
                        if(item.y==-1){
                            $("#detallet tr:eq("+item.i+") a[name='iconFactura']").html("<img src='../img/iconos/factura2.jpg' alt=''/>");
                            $("#detallet tr:eq("+item.i+") a[name=retencion]").remove();
                        }else{
                            $("#detallet tr:eq("+item.i+") td:eq(8) ul li:eq("+item.y+") a[name='iconFacturaCC']").html("<img src='../img/iconos/factura2.jpg' alt=''/>");
                            $("#detallet tr:eq("+item.i+") a[name=retencion]").remove();
                        }
                    });
                    
                    $.each(listaCheque,function(i,item){
                        var tr=$("#detallet tr:eq("+item.i+")");
                            if(item.y==-1){
                                 tr.find("a[name='iconCheque']").html("<img src='../img/iconos/grossing.png' alt=''/>");

                            }else{
                                 tr.find(" td:eq(8) li:eq("+item.y+") a[name='iconChequeCC']").html("<img src='../img/iconos/grossing.png' alt=''/>");
                            }
                    });
                    estadoModificar++;
                    $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                    return;
                }
                else{
                    insertar();            
    
                }
            });
           
            function insertar(){
                if(codigo_recurrente==5.0)
                    debeHaberCentroCostoSTC("",$("tr li input")[0]);
                else
                    actualizar();
                
                var listaCuenta=[];
                var listaCC=[];
                var idcomprovante=$("#idcomprovante").text();
                var concepto=$("input[name=concepto]").val();
                if(concepto.length==0){
                    alert("No a descrito el concepto")
                    return;
                }
                if($("#descripcion").val().length==0){
                    alert("La descripcion de encuentra vacia");
                    return;
                }
                if($("#totaldebeCambio").text()!=$("#totalhaberCambio").text()){
                    alert("No existe partida Doble");
                    return;
                }
                if($("#montoliteral").val().length==0){
                    alert("No a expresado el monto");
                    return;
                }
                var falta = false;
                $("#detallet tr input[name=glosa]").each(function(){
                   if($(this).val() == "" ||$(this).val() == " "){
                       falta=true;
                       return false;
                   } 
                });
                
                if(falta){
                    alert("No ha especificado la glosa");
                    return;
                }
                falta = false;
                $("#detallet td:eq(2) li input").each(function(){
                   if($(this).val() == "" ||$(this).val() == " "){
                       falta=true;
                       return false;
                   } 
                });
                if(falta){
                    alert("No se ha especificado el centro de costo");
                    return;
                }
                $.each($("#detallet > tr"),function(i,item){
                    var tr=$(this);
                    var codigo=tr.find("input[name= codigoCuenta]").val();
                    var glosa=tr.find("input[name= glosa]").val();
                    var debe=tr.find("input[name=debe]").val();
                    var desc=tr.find("input[name=cuenta]").val();
                    var haber=tr.find("input[name=haber]").val();
                    var debetc=tr.find("span[name=debeCambio]").text();
                    var habertc=tr.find("span[name=haberCambio]").text();
                    var proyecto=tr.find("a[name=proyecto]").data("id");
                    var gross=tr.find("td:eq(8) span:eq(0) a").data("gross");
                    gross=gross=="Q"?0:1;
                    proyecto=proyecto==null?0:proyecto;
                    var idpadre = tr.find("input[name=codigoCuenta]").data("padre");
                    idpadre =(idpadre+"").length==0?-1:idpadre;
                    if(tr.find("td:eq(1) li").length ==0){
                        listaCuenta.push({
                               codigo:codigo,glosa:glosa,debe:debe,i:i,j:-1,idPadre:idpadre,gross:gross
                               ,haber:haber, debeCambio:debetc, haberCambio:habertc, desc:desc,proyecto:proyecto
                        }); 
                        }else{
                            $.each(tr.find("td:eq(1) li"),function(j,item2){
                               var index=$(this).index();
                               var glosaCC=tr.find("td:eq(3) li:eq("+index+") input").val();
                               var debeCC=tr.find("td:eq(4) li:eq("+index+") input").val();
                               var haberCC=tr.find("td:eq(5) li:eq("+index+") input").val();
                               var cambioDebeCC=tr.find("td:eq(6) li:eq("+index+") span").text();
                               var cambiohaberCC=tr.find("td:eq(7) li:eq("+index+") span").text();
                               var codigoCC=tr.find("td:eq(1) li:eq("+index+") input").val();
                               var descCC=tr.find("td:eq(2) li:eq("+index+") input").val();
                               var cheque=tr.find("td:eq(8) li:eq("+index+") input").val();
                               var proyectoCC=tr.find("td:eq(8) li:eq("+index+") a:eq(1)").data("id");
                               var grossCC=tr.find("td:eq(8) li:eq("+index+") span a").data("gross");
                               grossCC=grossCC=="Q"?0:1;
                                proyectoCC=proyectoCC==null?0:proyectoCC;
                                var idpadre=-1;
                                if(typeof($(this).find("input").data("padre")) != "undefined" || ($(this).find("input").data("padre")+"").length != 0 ){
                                     idpadre = tr.find("input[name=codigoCuenta]").data("padre");
                                }
                               var codigoCC2=tr.find("input[name=codigoCuenta]").val();
                                listaCC.push({
                                    codigo: codigoCC,glosa: glosaCC,debe: debeCC,i:i,j:j,gross:grossCC,idPadre:idpadre
                                  ,haber: haberCC, Codigo_Cuenta : codigoCC2, debeCambio:cambioDebeCC,proyectoCC:proyectoCC, 
                                  haberCambio:cambiohaberCC, cheque:cheque, desc:descCC
                                });

                            });
                        }
                });
                var proceso = "";
                var mensaje = "";
                if(idComprobante != null){
                    proceso="actualizarComprobante";
                    mensaje="Comprobante Modificado ";
                }
                else{
                    mensaje="Comprobante Generado... ";
                    proceso="insertarComprobante";
                }
                var moneda = 0;
                if($("#cambio").text()=="$us"){
                    moneda=1;
                }else{
                    moneda=0;
                }
                var idcomprovante=$("#idcomprovante").text();
                var concepto=$("input[name=concepto]").val();
                var regional=$("select[name=regional] option:selected").val();
                var longitud = tipoCambioBs.length;
                var codigo_c = idcomprovante+"-"+$("#fechaComprobante").text();
                var algo = {proceso:proceso,cantidadCuenta:listaCuenta.length
                    ,listaCuenta:listaCuenta,cantidadCC:listaCC.length
                    ,listaCC:listaCC,referencia:idreferencial
                    ,total: $("#totaldebeCambio").text(),recurrencia:recurrente
                    ,montoliteral:$("#montoliteral").val(),moneda:moneda
                    ,concepto:concepto,codigo_comp: codigo_c,fechaComp:$("#fechaFormulario").val()
                    ,descripcion:$("#descripcion").val(),listaTipoCambio:tipoCambioBs
                    ,factura :listaFactura,listaCheque:listaCheque
                    ,chequeLeng:listaCheque.length,factlen: listaFactura.length
                    , regional:regional,cargocuenta:$("#cargoCuenta input:checked").length,lengcambio:longitud, tipo:$("#tipo").data("id")};
                $.post(url,algo,function(responsetext){
                    $("#popUpAccion").css("display","block");
                    $("#popUpbackGround").css("display","block");
                    if(responsetext == "True"){
                        $("#popUpAccion span").html(mensaje+" Correctamente");
                    }
                    else{
                        $("#popUpAccion span").html(responsetext);
                    }
                });
            }
            function redireccionarLista(){
                var direccion="CON_BUSCAR_COMPROBANTES.jsp?anulado=0&cargocuenta=1";
                $(location).attr('href',direccion);
            }
           
            function insertarTuplaCuenta(elemento){
                var tr=$(elemento).parent().parent();
                var codigoCuenta=tr.find("input[name=codigoCuenta]").val();
                var glosa=tr.find("input[name=glosa]").val();
                var debe=tr.find("input[name=debe]").val();
                var haber=tr.find("input[name=haber]").val();
                if(codigoCuenta.length == 0  || (debe.length+haber.length) == 0){
                   alert("Debe llenar todos los campo");
                   return;
               }
                     var otratupla="<tr><td><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a></td>"
                                        +"<td><input class='normal' autofocus='true' name='codigoCuenta' data-padre='' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +"<td><input class='Extragrande' name='cuenta' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='mediano' name='glosa' value='"+glosa+"' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='debe'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='haber'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                       +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a>"
                                       +" <a href='#' onclick='factura(this)' name='iconFactura'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                       +" <a href='#' onclick='cheque(this)' name='iconCheque'><img src='../img/iconos/factura.png' alt=''/></a>"
                                       +" <a name='proyecto' href='#' data-id='0' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'></span><span style='display: inline-block'></span><ul class='contenedorCC'></ul>"
                                       +" </td>"+
                                "</tr>";
                    $(tr).after(otratupla);
                    
                    aumentarIndices(tr,1)
                    
                    tr.next().find("input[name=codigoCuenta]").focus();
                    
                    eventoTupla(tr.next());
                    colorTupla();
                    $("a[name=iconCheque]").css("display","none");
                    if(parseInt($("#tipo").data("id"))== 1){
                         $("a[name=iconCheque]").css("display","inline-block");
                    }
            }
            function cambiarcambio(elemento){
                if($(elemento).text() == monedaBase){
                    $(elemento).text(monedaInflasionaria);
                    ListatipoCambio();
                    actualizar();
                    return;
                }
                if($(elemento).text() == monedaInflasionaria){
                    $(elemento).text(monedaReferencial);
                    ListatipoCambio();
                    actualizar();
                    return;
                }
                if($(elemento).text() == monedaReferencial){
                    $(elemento).text(monedaBase);
                    ListatipoCambio();
                    actualizar()
                    return;
                }
            }
            function actualizar(){
                $("#detallet tr").each(function(){
                    if($(this).find("li").length>0)
                    debeHaberCentroCosto("",$(this).find("li input")[0]);
                });
                debeHaber("",$("input[name=debe]")[0]);
            }
            function popUpCC(elemento){
                $("#popUpbackGround").css("display","block");
                $("#popUpContent").css("display","block");
                  centroCostoIndex=$(elemento).parent().index();
                  centroCosto=$(elemento).parent().parent().parent().parent();
                var codigo=$(elemento).parent().parent().parent().parent().find("input[name=codigoCuenta]");
                $.post(url,{proceso:"GenerarCentroCosto",value:codigo.val()},function(responsetext){
                    $("#popUpContent").html(responsetext);

                });
           }
            function agregarCentroCosto(elemento){
                    var tr=$(elemento);
                    var glosa=tr.find("td:eq(3) ul li:last input");
                    if(glosa.length==0){
                        glosa=tr.find("input[name=glosa]");
                    }
                    tr.find("td:eq(0)").find(".contenedorCC").append('<li><a name="btnCC" href="#" onclick=\"popUpCC(this)\"><img src="../img/iconos/PopUp.png" alt=""/></a></li>');
                    tr.find("td:eq(1)").find(".contenedorCC").append("<li><input class='normal' autofocus='true' type='text' disabled='disabled'/></li>");
                    tr.find("td:eq(2)").find(".contenedorCC").append("<li><input class='Extragrande' autofocus='true' type='text' disabled='disabled' /></li>");
                    tr.find("td:eq(3)").find(".contenedorCC").append("<li><input class='mediano' autofocus='true' name='glosaCC' value='"+glosa.val()+"' type='text' /></li>");
                    tr.find("td:eq(4)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='debeCC'   type='text' /></li>");
                    tr.find("td:eq(5)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='haberCC'  type='text' /></li>");
                    tr.find("td:eq(6)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioDebeCC' type='text' >0</span></li>");
                    tr.find("td:eq(7)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioHaberCC' type='text' >0</span></li>");
                    tr.find("td:eq(8)").find(".contenedorCC").append("<li><a href='#' onclick='eliminarFilaCC(this)'><img src='../img/iconos/X.png' alt=''/></a>"+
                                                                        "<a data-id='0' name='proyectoCC' href='#' onclick='abrirProyecto(this)'><img src='../img/iconos/Proyecto.jpg' alt=''/>"+
                                                                        "<a href='#' name='iconFacturaCC' onclick='factura(this)'><img src='../img/iconos/factura.jpg' alt=''/></a>"+
                                                                        "<a href='#' name='iconCheque' onclick='cheque(this)'><img src='../img/iconos/factura.png' alt=''/></a>"+
                                                                        "</a><span style='display: inline-block' data-gross='A'></span></li>");
                    tr.find("td:eq(1) > ul > li:last-child > input").focus();
                    eventoCentroCosto(tr);
                    
                   
                    if(tr.find("td:eq(3) li").length==1){
                        tr.find("td:eq(3) li input").bind("keyup",function(e){
                            if(tr.index()==0){
                                $("input[name=concepto]").val($(this).val());
                            }
                             tr.find("input[name=glosa]").val($(this).val());
                        });
                    }
                    tr.find("a[name=iconCheque]").css("display","none");
                    tr.find("a[name=proyecto]").css("display","none");
                    tr.find("a[name=iconFactura]").css("display","none");
                    if($("#tipo").data("id")== "1.0"){
                        $("ul a[name=iconCheque]").css("display","inline-block");
                    }
            }
            $("input[name=monto_Cheque]").keyup(function(){
                $.post(url,{proceso:"escribirTotal",valor:($(this).val())},function(responsetext){
                    $("input[name=monto_literal_Cheque]").val(responsetext);
                }); 
            });
            function eventoCentroCosto(tr){
                tr.find("span").css("overflow","hidden");
                tr.find("td:eq(4)").find(".contenedorCC input:last-child").bind("keyup",function(e){
                    if(e.keyCode==8 || e.keyCode==110){
                        debeHaberCentroCosto(e,this);
                        return false;
                    }
                    $(this).data("val",$(this).val());
                    var index = $(this).parent().index();
                    $(this).parent().parent().parent().next().find("ul li:eq("+index+") input").data("val","0");
                    return debeHaberCentroCosto(e,this);
                });
                 tr.find("td:eq(5)").find(".contenedorCC input:last-child").bind("keyup",function(e){
                    if(e.keyCode==8 || e.keyCode==110){
                        debeHaberCentroCosto(e,this)
                        return false;
                    }
                    $(this).data("val",$(this).val());
                    var index = $(this).parent().index();
                    $(this).parent().parent().parent().prev().find("ul li:eq("+index+") input").data("val","0");
                    return debeHaberCentroCosto(e,this);
                });

                tr.find("td > ul > li:last-child > *").keydown(function(e){
                    if(e.keyCode == 107){
                          var isUl=$(this).parent().parent().hasClass("contenedorCC") ;
                        if(!isUl){
                              insertarTuplaCuenta($(this))
                         }else{
                             agregarCentroCosto($(this).parent().parent().parent().parent()); 
                         }
                         return false;
                    }
                    if(e.keyCode == 109 ){
                         var elemento=tr.find("a[name=SliderCC]");
                         if(isUl){
                             sliderCentroCosto(elemento); 
                             tr.find("input[name=glosa]").focus();
                         }else{
                             sliderCentroCosto(elemento);
                         }
                         return false;
                    }
                    if(e.keyCode== 39 || e.keyCode== 13 || e.keyCode==9 ){
                        tabulacion(this,1)
                    }
                    if(e.keyCode== 37){
                        tabulacion(this,-1)
                    }
                    if( e.keyCode==9){
                        return false;
                    }
                });
            }
            function eventoTupla(tr){
                tr.find("span").css("overflow","hidden");
                tr.find("input[name=cuenta]").keyup(function (){
                        if(focusresultante==-1)return;
                        cuentaSeleccionada=$(this);
                        var posicion = cuentaSeleccionada.position();
                       $("#resultado").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:0.7,
                           display:"block"
                       });
                       var value = $(this).val();
                       $('#resultado').html("");
                       var count=0;
                      $.each(ListaCuentaContable, function(i, item) {
                           if(ListaCuentaContable[i].DESCRIPCION.toUpperCase().search(value.toUpperCase())>-1){
                               var extra="";
                                if(count==focusresultante){
                                   extra=" style='background:red;' data-focus='1' ";
                               }
                               var texto = "<a href='#' "+extra+" data-id='"+parseInt(item.id)+"' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                               $('#resultado').append(texto);
                               count++;
                                if(i==10)return false;
                           }
                       });
                       $.each(listaCuentasRestringidas,function (i,item){
                            var id=parseInt(item);
                            if($("a[data-id='"+id+"']").length>0){
                                $("a[data-id='"+id+"']").remove();
                            }
                       });
                   });
                   var focusresultante=0;
                tr.find("input[name=codigoCuenta],input[name=cuenta]").keydown(function (e){
                     focusresultante=0;
                     $.each($("#resultado a"),function(i,item){
                           if($(this).data("focus")=="1"){
                               focusresultante=i;
                           }
                     });
                     if(e.keyCode==13){
                         $("#resultado a:eq("+focusresultante+")").click();
                         focusresultante=-1;
                         $("#resultado").css("display","none");
                     }
                    if(e.keyCode==38){
                        focusresultante--;
                    }
                    if(e.keyCode==40){
                        focusresultante++;
                    }
                    if(focusresultante==-1){
                        focusresultante=$("#resultado a").length-1;
                    }
                    if(focusresultante==$("#resultado a").length){
                        focusresultante=0;
                    }
                });
                tr.find("input[name=codigoCuenta]").keyup(function (e){
                    if(focusresultante==-1)return;
                       cuentaSeleccionada=$(this);
                       var posicion = cuentaSeleccionada.position();
                       $("#resultado").css({
                           position:"absolute",
                           left:posicion.left-6,
                           top:posicion.top+20,
                           background:"white",
                           border:"solid black thin",
                           font:"10px Arial",
                           color:"black",
                           opacity:"0.7",
                           display:"block"
                       });
                       var value = $(this).val();
                         $('#resultado').html("");
                         var count=0;
                         $.each(ListaCuentaContable, function(i, item) {
                           var codigo = ListaCuentaContable[i].CODIGO.replace(/\-/g, '');  
                           
                           if(codigo.search(value)==0 || item.CODIGO.indexOf(value)==0){
                               var extra="";
                               if(count==focusresultante){
                                   extra=" style='background:red;' data-focus='1' ";
                               }
                               var texto = "<a href='#' "+extra+" data-id='"+parseInt(item.id)+"' class='negrillaenter' onclick=\"seleccionarBusqueda(this,'"+item.CODIGO+"', '"+item.DESCRIPCION+"','"+item.MONEDA+"')\">"+item.CODIGO+" "+item.DESCRIPCION+"</a>";
                               $('#resultado').append(texto);
                               
                              count++;
                              if(i==10)return false;
                           }
                         });
                         $.each(listaCuentasRestringidas,function (i,item){
                            var id=parseInt(item);
                            if($("a[data-id='"+id+"']").length>0){
                                $("a[data-id='"+id+"']").remove();
                            }
                        });
                         focusresultante();
                        //$('#resultado').scrollTop(
                        //    ($("#resultado a[data-focus=1]").offset().top)
                        //);
                   });
                tr.find("td > input").keydown(function(e){
                    var tr=$(this).parent().parent().parent().parent();
                    var isUl=$(this).parent().parent().hasClass("contenedorCC") ;
                    if(e.keyCode == 107){
                        if(!isUl){
                              insertarTuplaCuenta($(this))
                         }else{

                             agregarCentroCosto(tr); 
                         }
                          return false;
                    }
                    if(e.keyCode == 109 ){
                         var elemento=tr.find("a[name=SliderCC]");
                         if(isUl){
                             sliderCentroCosto(elemento); 
                             tr.find("input[name=glosa]").focus();
                         }else{
                             sliderCentroCosto(elemento);
                         }
                         return false;
                    }
                });
                tr.find("input[name=debe]").bind("keyup",function(e){
                        if(e.keyCode==8 || e.keyCode==110){
                            debeHaber(e,this);
                            return false;
                        }
                        $(this).data("val",$(this).val());
                        $(this).parent().parent().find("input[name=haber]").data("val","0");
                        return debeHaber(e,this);
                });
                tr.find("input[name=haber]").bind("keyup",function(e){
                        if(e.keyCode==8 || e.keyCode==110){
                            debeHaber(e,this);
                            return false;
                        }
                        $(this).data("val",$(this).val());
                        $(this).parent().parent().find("input[name=debe]").data("val","0");
                         return debeHaber(e,this);
                });
                tr.find("input").keydown(function(e){
                    if(e.keyCode== 39 || e.keyCode== 13 || e.keyCode==9 ){
                        tabulacion(this,1)
                    }
                    if(e.keyCode== 37){
                        tabulacion(this,-1)
                    }
                    if( e.keyCode==9){
                        return false;
                    }
                });
                tr.find("a").keydown(function(e){
                    if(e.keyCode== 39 || e.keyCode== 13 || e.keyCode==9 ){
                        tabulacion(this,1)
                    }
                    if(e.keyCode== 37){
                        tabulacion(this,-1)
                    }
                    if( e.keyCode==9){
                        return false;
                    }
                });
            }
            function buscarFacturaCheque(tipo){
                if(tipo==1){
                    $.each(listaFactura,function(i,item){
                        if(item.i==indexFactura && item.y==indexFacturaLi){
                            $("input[name=nit]").val(item.nit);
                            cargarcombo(parseInt(item.sucursal));
                            $("input[name=razonSocial]").val(item.rz);
                            $("input[name=fechaFactura]").val(item.fecha);
                            $("input[name=nroFactura]").val(item.nro);
                            $("select[name=caracteristicaFactura] option:contains('"+item.caracteristica+"')").attr("selected","selected");
                            $("input[name=autorizacion]").val(item.autorizacion);
                            $("select[name=tipoFactura] option:contains('"+item.tipo+"')").attr("selected","selected");
                            $("select[name=sucursalFactura] option:contains('"+item.sucursal+"')").attr("selected","selected");
                            $("input[name=codigoControl]").val(item.codigocontrol);
                            $("input[name=montofactura]").val(item.monto);
                            $("input[name=ice]").val(item.ice);
                            $("input[name=excento]").val(item.excento);
                            if(item.anulado_Factura==1)
                            $("input[name=anulado_Factura]").prop("checked", "checked");
                            else
                            $("input[name=anulado_Factura]").prop("checked", "");
                        }
                    });
                }
                else{
                    $.each(listaCheque,function(i,item){
                        if(item.i==indexCheque && item.y==indexChequeLi){
                            $("input[name=nro_Cheque]").val(item.numero_Cheque);
                            $("input[name=monto_Cheque]").val(item.monto_Cheque);
                            $("input[name=nombre_Cheque]").val(item.nombre_Cheque );
                            $("input[name=fecha_Cheque]").val(item.fecha_Cheque);
                            $("input[name=monto_literal_Cheque]").val(item.monto_literal_Cheque);
                            if(item.anulado_Cheque==1)
                            $("input[name=anulado_Cheque]").prop("checked", "checked");
                            else
                            $("input[name=anulado_Cheque]").prop("checked", "");

                       }
                    });
                }
                
            
            }
            var indexFactura=-1 ;
            var indexFacturaLi=-1 ;
            function factura(elemento){
                $("input[name=anulado_Factura]").prop("checked", "");
                if($(elemento).parent().parent().find("li").length==0)
                {                    
                    indexFactura=$(elemento).parent().parent().index();
                    indexFacturaLi=-1;
                    buscarFacturaCheque(1);
                    if($("input[name=montofactura]").val().length==0){
                        $("input[name=montofactura]").val($(elemento).parent().parent().find("input[name=debe]").val());
                    }
                }else{
                    indexFactura=$(elemento).parent().parent().parent().parent().index();
                    indexFacturaLi=$(elemento).parent().index();
                    buscarFacturaCheque(1);
                    if($("input[name=montofactura]").val().length==0){
                        $("input[name=montofactura]").val($(elemento).parent().parent().parent().parent().find("td:eq(4) ul li:eq("+indexFacturaLi+") input").val());
                    }
                }
                $("#popUpbackGround").css("display","block");
                $("#popUpFacturaProvedor").css("display","block");
            }
            var indexCheque=-1;
            var indexChequeLi=-1;
            function cheque(elemento){
                if($(elemento).data("evento")==0)return;
                var valor = 0;
                if($(elemento).parent().parent().find("li").length==0){
                    indexCheque=$(elemento).parent().parent().index();
                    indexChequeLi=-1;
                    valor=$(elemento).parent().parent().find("input[name=haber]").val();
                    buscarFacturaCheque(2);
                        $("input[name=monto_Cheque]").val(valor);
                }else{
                    indexCheque=$(elemento).parent().parent().parent().parent().index();
                    indexChequeLi=$(elemento).parent().index();
                     valor=$(elemento).parent().parent().parent().parent().find("input[name=haberCC]").val();
                     buscarFacturaCheque(2);
                     $("input[name=monto_Cheque]").val(valor);
                }
                $.post(url,{proceso:"escribirTotal",valor:(valor+"")},function(responsetext){
                    $("input[name=monto_literal_Cheque]").val(responsetext);
                });
                $("input[name=anulado_Factura]").prop("checked", "");
                $("#popUpCheque").css("display","block");
                $("#popUpbackGround").css("display","block");
            }
            function eliminarFila(filaTabla){
                if($(filaTabla).data("evento")==0)return;
                var tr = $(filaTabla).parent().parent();
                var indice = tr.find("input[name=codigoCuenta]").data("padre");
                var trPadre = $("#detallet tr:eq("+indice+")");
                cambioManejado(trPadre.find("input[name=glosa]").data("moneda"));
                var cambio=tipoCambio;       
                if($("input[data-padre="+indice+"]").length==1){
                   $("#detallet tr:eq("+indice+") td:eq(8) span:eq(1) a").data("tipo","3");
                   $("#detallet tr:eq("+indice+") td:eq(8) span:eq(0) a").data("tipo","3");
                }
                var tipo = tr.find("input[name=codigoCuenta]").data("tipo");
                var izq = truncarDecimal(tr.find("input[name=debe]").val());
                var der = truncarDecimal(tr.find("input[name=haber]").val());
                var retencion=izq>der?izq:der;
                retencion=retencion/cambio;
                
                if(trPadre.find("li").length >0 && tipo!=3){
                   var listahaber = trPadre.find("td:eq(5) ul li input");
                   
                    $.each(trPadre.find("td:eq(4) ul li input"),function(i,item){
                        var lenIzq=trPadre.find("td:eq(4) ul li input[value=0]").length+trPadre.find("td:eq(4) ul li input[value='0.0']").length;
                        var lenDer=trPadre.find("td:eq(5) ul li input[value=0]").length+trPadre.find("td:eq(5) ul li input[value='0.0']").length;
                        var retencion=izq>der?izq:der;
                        retencion=retencion/cambio;
                        if(tipo==0){
                            if(izq>der){
                                retencion=retencion/lenDer;
                                if(parseFloat($(item).val())!=0)
                                $(item).val(truncarDecimal(parseFloat($(item).val())+retencion));
                            }else{
                                retencion=retencion/lenIzq;
                                if(parseFloat($(listahaber[i]).val())!=0)
                                $(listahaber[i]).val(truncarDecimal(parseFloat($(listahaber[i]).val())+retencion));
                            }
                        }
                        if(tipo==1){
                            if(izq>der){
                                retencion=retencion/lenIzq;
                                if(parseFloat($(listahaber[i]).val())!=0)
                                $(listahaber[i]).val(truncarDecimal(parseFloat($(listahaber[i]).val())+(retencion)));
                            }else{
                                retencion=retencion/lenDer;
                                if(parseFloat($(item).val())!=0)
                                $(item).val(truncarDecimal(parseFloat($(item).val())+(retencion)));
                            }
                        }
                    });
                }else{
                    if(tipo!=3){
                        var debePadre = trPadre.find("input[name=debe]").val()>trPadre.find("input[name=haber]").val()?trPadre.find("input[name=debe]").val():trPadre.find("input[name=haber]").val();
                        var debePadreVal = trPadre.find("input[name=debe]").data("val")>trPadre.find("input[name=haber]").data("val")?trPadre.find("input[name=debe]").data("val"):trPadre.find("input[name=haber]").data("val");
                        if(parseFloat(debePadre) < parseFloat(debePadreVal) || debePadreVal==0 ){
                            debePadre= parseFloat(debePadre)+parseFloat(retencion);
                        }
                        trPadre.find("input[name=debe]").val(truncarDecimal(trPadre.find("input[name=debe]").val()>trPadre.find("input[name=haber]").val()?debePadre:0));
                        trPadre.find("input[name=haber]").val(truncarDecimal(trPadre.find("input[name=debe]").val()>trPadre.find("input[name=haber]").val()?0:debePadre));
                    }
                }
                if($(filaTabla).parent().parent().find("td:eq(1) li").length==0){
                    if($(filaTabla).parent().parent().parent().find("tr").length !=1){
                        var indx=tr.index();
                        $.each($("#detallet tr"),function(i,item){
                            if(truncarDecimal($(this).find("input[name=codigoCuenta]").data("padre"))>indx){
                                $(this).find("input[name=codigoCuenta]").data("padre",parseInt($(this).find("input[name=codigoCuenta]").data("padre"))-1);
                            }
                        });
                        tr.remove();
                        $.each(listaCheque,function(i,item){
                            if(item.i==indx && item.y==-1){
                                listaCheque.splice(i, 1);
                            }
                            if(item.i>indx){
                                item.i=item.i-1;
                            }
                        });
                        $.each(listaFactura,function(i,item){
                            if(item.i==indx && item.y==-1){
                                listaFactura.splice(i, 1);
                            }
                            if(item.i>indx){
                                item.i=item.i-1;
                            }
                        });
                        if($("input[data-padre="+indice+"]").length==0){
                            trPadre.find("input").removeAttr("disabled");
                            trPadre.find("a").each(function(){
                                $(this).data("evento","1");
                            });
                        }
                    }
                        
                }else{
                    alert("No puede eliminar cuenta con centro de costo");
                }                
                actualizar();
            }
           
            var tipoCambio=0;
            function cambioManejado(idMoneda){
                var cambiotupla=1;
                var cambiocompro=1;
                $("#popUpTipoCambio input").each(function(){
                    if($(this).data("id")== idMoneda){
                       cambiotupla=$(this).val();
                    }
                    if($(this).data("acronimo")==$("#cambio").text()){
                       cambiocompro=$(this).val();
                    }
                });
                tipoCambio=cambiotupla/cambiocompro;
                 
            }
            
            function debeHaber(e,elemento){
                if ( e=="" || e.keyCode== 46 ||e.keyCode== 9 || e.keyCode== 8|| e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 110 || e.keyCode == 190 ) {
                    if(e!="")
                    if(e.keyCode != 9){
                        if($(elemento).attr("name")== "debe"){
                            $(elemento).parent().parent().find("input[name=haber]").val("");
                            $(elemento).parent().parent().find("span[name=haberCambio]").html("");
                        }else{
                            $(elemento).parent().parent().find("input[name=debe]").val("");
                            $(elemento).parent().parent().find("span[name=debeCambio]").html("");
                        }
                    }
                    $("input[name=debe]").each(function(){
                         var idMoneda=$(this).parent().parent().find("input[name=glosa]").data("moneda");
                         cambioManejado(idMoneda);
                         var cambio=tipoCambio;
                        
                        if($(this).val() != ""){
                            var value = parseFloat($(this).val())*cambio;
                            //var result=truncarDecimal((value+""));
                            var result=(value+"");
                            if($(this).parent().parent().find("li").length>0){
                                return true;
                            }
                            $(this).parent().parent().find("span[name=debeCambio]").text(result);
                            $(this).parent().parent().find("span[name=debeCambio]").data("value",value);
                        }else{
                            $(this).val("");
                        }
                    });
                    $("input[name=haber]").each(function(){
                        var idMoneda=$(this).parent().parent().find("input[name=glosa]").data("moneda");
                        cambioManejado(idMoneda);
                        var cambio=tipoCambio;
                        if(isNaN(cambio)){
                            cambio=0;
                        }
                        if($(this).val() != ""){
                            var value = parseFloat($(this).val())*cambio;
                            //var result=truncarDecimal((value+""));
                            var result=(value+"");
                            if($(this).parent().parent().find("li").length>0){
                                return true;
                            }
                            $(this).parent().parent().find("span[name=haberCambio]").html(result);
                            $(this).parent().parent().find("span[name=haberCambio]").data("value",value);
                        }else{
                            $(this).val("");
                        }
                    });
                }
                  colorTupla();
                  calcularTotal();
            }
            function calcularTotal(){
                var totalDebe=0;
                var totalHaber=0;
                $("#detallet tr").each(function(){
                    var tr=$(this);
                    totalDebe+=truncarDecimal(tr.find("span[name=debeCambio]").text());
                    totalHaber+=truncarDecimal(tr.find("span[name=haberCambio]").text());
                });
                var res = truncarDecimal(totalDebe)-truncarDecimal(totalHaber);
                if(res>0){
                    $("#faltaHaber").html(truncarDecimal(res+""));
                    $("#faltaDebe").html("");
                }
                res = truncarDecimal(totalHaber)-truncarDecimal(totalDebe);
                if(res>0){
                    $("#faltaDebe").html(truncarDecimal(res+""));
                    $("#faltaHaber").html("");
                }
                if(res==0){
                    $("#faltaDebe").html("");
                    $("#faltaHaber").html("");
                }
                $("#totalhaberCambio").html(truncarDecimal(totalHaber+""));
                $("#totalhaberCambio").data("value",totalHaber);
                $("#totaldebeCambio").html(truncarDecimal(totalDebe));
                $("#totaldebeCambio").data("value",totalDebe);
                $.post(url,{proceso:"escribirTotal",valor:(truncarDecimal(totalDebe)+"")},function(responsetext){
                          $("#montoliteral").val(responsetext);
                    });
            }
            var url="../CON_COMPROBANTE_CONTROLLER";
            function debeHaberSTC(e,elemento){
                if ( e=="" || e.keyCode== 46 ||e.keyCode== 9 || e.keyCode== 8|| e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 110 || e.keyCode == 190 ) {
                    var totalhaber=0;
                    var totaldebe=0;
                    $("span[name=debeCambio]").each(function(){                         
                        if($(this).text() != ""){
                            var valor = $(this).text();
                            valor=valor==""?0:valor;
                            totaldebe+=truncarDecimal(valor);
                        }
                    });
                    var debeTruncado=truncarDecimal(totaldebe+"");
                    $("#totaldebeCambio").html(debeTruncado);
                    $("#totaldebeCambio").data("value",totaldebe);
                    $.post(url,{proceso:"escribirTotal",valor:(debeTruncado+"")},function(responsetext){
                          $("#montoliteral").val(responsetext);
                    });
                    $("span[name=haberCambio]").each(function(){                       
                        if($(this).text() != ""){
                            var valor = $(this).text();
                            valor=valor==""?0:valor;
                            totalhaber+=truncarDecimal(valor);                            
                        }
                    });
                    var res = truncarDecimal(totaldebe+"")-truncarDecimal(totalhaber+"");
                    if(res>0){
                        $("#faltaHaber").html(truncarDecimal(res+""));
                        $("#faltaDebe").html("");
                    }
                    res = truncarDecimal(totalhaber+"")-truncarDecimal(totaldebe+"");
                    if(res>0){
                        $("#faltaDebe").html(truncarDecimal(res+""));
                        $("#faltaHaber").html("");
                    }
                    if(res==0){
                        $("#faltaDebe").html("");
                        $("#faltaHaber").html("");
                    }
                    $("#totalhaberCambio").html(truncarDecimal(totalhaber+""));
                    $("#totalhaberCambio").data("value",totalhaber);
                }
                  colorTupla();
            }
            var cuentaSeleccionada;
            function truncarDecimal(decimal){
                decimal=decimal+"";
                if(isNaN(decimal))return 0;
                if(decimal.length==0)return 0;
                resultado=decimal;
                var numero = decimal.split(".");
                if(numero.length==2){
                    resultado=numero[0];
                    if(numero[1].length>2){
                        var aux = 0;                        
                        var valor =0;
                        for(var i=numero[1].length-1;i>=1;i--){
                            var v = parseFloat(numero[1].charAt(i))+aux;
                            
                            if(i==1){
                                valor = (parseFloat(numero[1].substring(0,2))+aux)+"";
                                if(valor.length==3){
                                    return parseFloat(numero[0])+1;
                                }
                                if(valor.length==1){
                                    valor="0"+valor;
                                }
                            }
                            aux=v>=5?1:0;
                        } 
                        resultado+="."+valor;
                    }else{
                        return parseFloat(decimal);
                    }
                }
                return parseFloat(resultado);
            }
            
            function seleccionarBusqueda(elemento,codigo,descripcion,moneda){
                var tr=cuentaSeleccionada.parent().parent();            
                tr.find("input[name=codigoCuenta]").val(codigo);
                tr.find("input[name=cuenta]").val(descripcion);
                 $("#resultado").css("display","none");
                $.post(url,{proceso:"TieneCentroCosto",value:codigo},function(responsetext){
                       if(responsetext == "true"){
                            tr.find("td:first-child").html("<a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a><a onclick=\"sliderCentroCosto(this)\"  name='SliderCC' ><img src='../img/iconos/ocultar.png' alt=''/></a><ul class='contenedorCC'></ul>");
                            tr.find("input[name=debe]").attr("disabled", "disabled"); 
                            tr.find("input[name=haber]").attr("disabled", "disabled"); 
                            tr.find("input[name=haber]").val(""); 
                            tr.find("input[name=glosa]").data("moneda",moneda);
                            tr.find("span[name=debeCambio]").text(""); 
                            tr.find("span[name=haberCambio]").text(""); 
                            tr.find("td:eq(8) a:eq(1)").data("evento","0"); 
                            $("#totaldebe").text(""); 
                            $("#totalhaber").text(""); 
                            $("#totaldebeCambio").text(""); 
                            $("#totalhaberCambio").text(""); 
                            tr.find("ul li").remove();
                            agregarCentroCosto(tr);
                       }else{
                            tr.find("input[name=debe]").removeAttr("disabled");
                            tr.find("input[name=haber]").removeAttr("disabled");
                            tr.find(".contenedorCC").html("");
                            tr.find("input[name=glosa]").data("moneda",moneda);                            
                       }
                       $.post(url,{proceso:"RetencionesCuenta",codigo:codigo},function(responsetext){
                            if(responsetext != ""){
                                tr.find("td:eq(8) > span:eq(0)").html("<a data-gross='A'  href='#' onclick= \"abrirRetenciones(this,'"+codigo+"', 1)\" name='retencion'><img src='../img/iconos/Retenciones.jpg' alt=''/></a>");
                            }
                        });
                        tr.find("td:eq(8) > span:eq(1)").html("<a href='#' onclick= \"abrirRetenciones(this,'"+codigo+"',2)\" name='retencion'><img src='../img/iconos/ComprasVentas.jpg' alt=''/></a>");
                });
            }
            var centroCostoIndex;
            var centroCosto;
            function sliderCentroCosto(elemento){
                if($(elemento).data("estado")== "+"){
                    $(elemento).html("<img src='../img/iconos/ocultar.png' alt=''/>");
                    $(elemento).data("estado","-");
                }
                else{
                    $(elemento).html("<img src='../img/iconos/mostrar.png' alt=''/>");
                    $(elemento).data("estado","+");
                }
                $(elemento).parent().parent().find("ul").each(function(){
                    if($(elemento).data("estado")== "+"){
                        $(this).slideUp();
                    }else{
                        $(this).slideDown();
                    }
                });
            }
            function seleccionarCentroConstoHoja(codigo,descripcion){
                 $("#popUpbackGround").css("display","none");
                 $("#popUpContent").css("display","none");
                 centroCosto.find("td:eq(1) li:eq("+centroCostoIndex+") input").val(codigo);
                 centroCosto.find("td:eq(2) li:eq("+centroCostoIndex+") input").val(descripcion);
            }
            function debeHaberCentroCosto(e,elemento){
                if (e=="" || e.keyCode== 46 || e.keyCode== 9 || e.keyCode== 8|| e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 110 || e.keyCode == 190 ) {
                    var totalhaber=0;
                    var index = $(elemento).parent().index();
                    var tr=$(elemento).parent().parent().parent().parent();
                    var totaldebe=0;
                    if(e != "")
                    if(e.keyCode != 9){
                        if($(elemento).attr("name")== "debeCC"){
                             tr.find("td:eq(5)").find("ul li:eq("+index+") input").val("");           
                             tr.find("td:eq(7)").find("ul li:eq("+index+") span").html("0");            
                        }else{
                            tr.find("td:eq(4)").find("ul li:eq("+index+") input").val("");            
                            tr.find("td:eq(6)").find("ul li:eq("+index+") span").html("0");   
                        }
                    }

                    var idMoneda=tr.find("input[name=glosa]").data("moneda");
                    cambioManejado(idMoneda);
                   var cambio=tipoCambio;
                    if(isNaN(cambio)){
                        cambio=0;
                    }
                    var asd2=0;
                     tr.find("input[name=debeCC]").each(function(){
                        if($(this).val() != ""){
                            var indexActual = $(this).parent().index();
                            totaldebe+=parseFloat($(this).val());
                            var valor = parseFloat($(this).val())*cambio;
                            //asd2+=truncarDecimal(valor);
                            asd2+=valor;
                            //$(this).parent().parent().parent().parent().find("td:eq(6)").find("ul li:eq("+indexActual+") span").html(truncarDecimal(valor+""));
                            $(this).parent().parent().parent().parent().find("td:eq(6)").find("ul li:eq("+indexActual+") span").html(valor+"");
                            $(this).parent().parent().parent().parent().find("td:eq(6)").find("ul li:eq("+indexActual+") span").data("value",valor);
                        }
                    });
                    
                    tr.find("input[name=debe]").val(totaldebe);
                    tr.find("td:eq(6)").find("span[name=debeCambio]").html(truncarDecimal((asd2)+""));
                    tr.find("td:eq(6)").find("span[name=debeCambio]").data("value",asd2);
                    var asd1=0;
                    $.each(tr.find("input[name=haberCC]"),function(i,item){
                        if($(this).val() != ""){
                            var indexActual = $(this).parent().index();
                            totalhaber+=parseFloat($(this).val());
                            var valor = parseFloat($(this).val())*cambio;
                            //asd1+=truncarDecimal(valor);
                            asd1+=valor;
                            //$(this).parent().parent().parent().parent().find("td:eq(7)").find("ul li:eq("+indexActual+") span").html(truncarDecimal(valor+""));
                            $(this).parent().parent().parent().parent().find("td:eq(7)").find("ul li:eq("+indexActual+") span").html(valor+"");
                            $(this).parent().parent().parent().parent().find("td:eq(7)").find("ul li:eq("+indexActual+") span").data("value",valor);
                        }
                    });
                      tr.find("input[name=haber]").val(totalhaber);
                      //tr.find("td:eq(7)").find("span[name=haberCambio]").html(truncarDecimal((asd1)+""));
                      tr.find("td:eq(7)").find("span[name=haberCambio]").html(asd1+"");
                      tr.find("td:eq(7)").find("span[name=haberCambio]").data("value",asd1);
                      debeHaber("",elemento);
                }
            }
            function debeHaberCentroCostoSTC(e,elemento){
                if (e=="" || e.keyCode== 46 || e.keyCode== 9 || e.keyCode== 8|| e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 110 || e.keyCode == 190 ) {
                    var totalhaber=0;
                    var tr=$(elemento).parent().parent().parent().parent();
                    var totaldebe=0;
                     tr.find("input[name=debeCC]").each(function(){
                        if($(this).val() != ""){
                            totaldebe+=parseFloat($(this).val());                            
                        }
                    });
                    tr.find("input[name=debe]").val(totaldebe);
                    $.each(tr.find("input[name=haberCC]"),function(i,item){
                        if($(this).val() != ""){
                            totalhaber+=parseFloat($(this).val());
                        }
                    });//tr.find("input[name=debe]").val(totaldebe);
                    tr.find("input[name=haber]").val(totalhaber);
                    
                    var totaldebecc=0;
                    tr.find("span[name=cambioDebeCC]").each(function(){
                        if($(this).text() != ""){
                            totaldebecc+=parseFloat($(this).text());                            
                        }
                    });
                    tr.find("span[name=debeCambio]").text(totaldebecc);
                    var totalhabercc=0;
                    tr.find("span[name=cambioHaberCC]").each(function(){
                        if($(this).text() != ""){
                            totalhabercc+=parseFloat($(this).text());                            
                        }
                    });
                    tr.find("span[name=haberCambio]").text(totalhabercc);

                    var totnet = truncarDecimal(totalhaber)-truncarDecimal(totaldebe);
                    //if(totnet>0)
                    //{
                       // tr.find("span[name=haberCambio]").text(truncarDecimal(totnet));
                        //tr.find("span[name=debeCambio]").text(truncarDecimal(0.0));
                    //}
                    //if(totnet<0)
                    //{
                    //    tr.find("span[name=haberCambio]").text(truncarDecimal(0.0));
                    //    tr.find("span[name=debeCambio]").text(truncarDecimal(totnet*-1));
                    //}
                    debeHaberSTC("",elemento);
                }
            }
            function eliminarFilaCC(elemento){
                 if($(elemento).data("evento")==0)return;
                 var index = $(elemento).parent().index();
                 var tr=$(elemento).parent().parent().parent().parent();
                  actualizar();
                 tr.find("ul").each(function (){
                    $(this).find("li:eq("+index+")").remove();
                   
                 });
                var indx=tr.index();
                $.each(listaCheque,function(i,item){
                    if(item.i==indx && item.y==index){
                        listaCheque.splice(i, 1);
                    }
                    if(item.y >index && item.i==indx){
                        item.y=item.y-1;
                    }
                });
                $.each(listaFactura,function(i,item){
                    if(item.i==indx && item.y==index){
                        listaFactura.splice(i, 1);
                    }
                    if(item.y >index && item.i==indx){
                        item.y=item.y-1;
                    }
                });
            }
          
            var tipoCambioBs=[];
            var monedaBase="";
            var monedaReferencial="";
            function actualizarCambio(){
                var fecha=$("#fechaComprobante").text();
                var idc=0;
                if(idComprobante!= null ){
                    idc=idComprobante;
                }
                $.post(url,{proceso:"Cambio",fecha:fecha,id:idc},function(responsetext){
                        var jsonObj = $.parseJSON('[' + responsetext+ ']');
                        tipoCambioBs=jsonObj;
                        abrirComprobante();
                        
                });
                
            }
            var ColoresDefault = ["#68C8BC","#A7CE51","#C5EAF3","#77A7F7","#9C95C9","#EE9B55","#FBC00C","#FDFCC0","#76B900","#F7865E"];
            function ListatipoCambio(){
                var html="<div><span id='titulo' style='clear:both;'>Tipo de Cambio</span><a href='#' onclick=\"actualizarCambio()\">(0)</a></div><div>";
                    $.each(tipoCambioBs, function(i, item) {
                        html+="<span class='negrilla'>1 "+item.ACRONIMO+"=</span><input class='normal'  type='text' data-id='"+item.CODIGO+"' data-acronimo='"+item.ACRONIMO+"' value='"+item.TPCAMBIO+"' /><span class='negrillaenter'>"+monedaBase+"</span><input type='color' name='color'value='"+ColoresDefault[i]+"' style='width:25px'/><br>";
                    });
                    html+="</div>";
                    $("#popUpTipoCambio").html(html);
                    $("#popUpTipoCambio input").keyup(function(e){
                        if ( e.keyCode== 9 || e.keyCode== 8|| e.keyCode >= 48 && e.keyCode <= 57 || e.keyCode >= 96 && e.keyCode <= 105 || e.keyCode == 110 || e.keyCode == 190 ) {
                             var textbox=$(this);
                             $.each(tipoCambioBs,function(i,item){
                                 if(item.CODIGO == textbox.data("id")){
                                    item.TPCAMBIO=textbox.val();
                                 }
                             });   
                             var cc=$("input[name=debeCC]");
                             if(cc.length==0){
                                 debeHaber("",$("input[name=debe]")[0]);
                             }else{
                                actualizar();
                             }
                         }else{
                             alert("Solo ingrese datos numericos")
                         }
                     });
                     $('input[name=color]').change(function(){
                         colorTupla();
                     });
            }
            function obtenerColorFila(idMoneda){
                 var color;
                $("#popUpTipoCambio input").each(function(){
                    if($(this).data("id")== idMoneda){
                        color=$(this).next().next().val()+"";
                        return "false";
                    }
                });
                return color;
            }
            function colorTupla(){
                $("#detallet tr").each(function(){
                    var elemento=$(this).find("input[name=glosa]");
                    var color=obtenerColorFila(elemento.data("moneda")); 
                    $(this).css("background",color);
                    $(this).find(":input").css("background",color);
                });
            }
            function tabulacion(e,direccion){
                var elemento=$(e);
                var tr;
                var td;
                var interno=false;
                var tieneCC=false;
                if(elemento.parent().parent().hasClass("contenedorCC")){
                    tr=elemento.parent().parent().parent().parent();
                    td=elemento.parent().parent().parent();
                    interno=true;
                }else{
                    tr=elemento.parent().parent();
                    td=elemento.parent();
                    interno=false;
                }
                if(tr.find("ul li").length>0){
                   tieneCC=true;
                }
                var indexUl=elemento.parent().index();
                var index=td.index();
                if(direccion==1){
                    index++;
                    if(interno){
                        if(index==1){
                            index=3;
                        }

                         if(index==6){
                            index=8;
                        }
                        if(index==10){
                            index=0;
                            indexUl++;
                            if(tr.find("td:eq("+index+") ul > li:eq("+indexUl+")").index()==-1){
                                tr=tr.next();
                                if(tr.index()==-1){
                                    $("#montoliteral").focus();
                                    return;
                                }
                                 if(tr.find("ul li").length>0){
                                    tr.find("td:eq(0)  a").focus();
                                 }else{
                                    tr.find("td:eq(1)  input").focus();
                                 }
                                 return;
                            }
                        }
                       tr.find("td:eq("+index+") > ul > li:eq("+indexUl+") > *").focus();

                     return;
                   }else{
                        if(index==6){
                            index=8;
                        }
                        if(index==4 && tieneCC){
                            index=9;
                        }
                        if(index==11){
                            index=0;

                            if(tieneCC && tr.find("ul.contenedorCC").css("display") !="none" ){
                                tr.find("td:eq("+index+") > ul > li:eq(0) a").focus();
                            }else{
                                tr=tr.next();
                                if(tr.index()==-1){
                                    $("#montoliteral").focus();
                                    return;
                                }
                                if(tr.find("ul li").length>0){
                                    tr.find("td:eq(0)  a").focus();
                                 }else{
                                    tr.find("td:eq(1)  input").focus();
                                 }
                            }
                            return;
                        }
                        tr.find("td:eq("+index+") > *").focus();
                        return;
                   }
                }else{
                   index--;
                   if(index==7){
                       index=5;
                   }
                   if(interno){
                        if(index==2){
                            index=0;
                        }
                        if(index==-1){
                            indexUl--;
                            index=9;
                            if(indexUl==-1){
                                index=10;
                                tr.find("td:eq("+index+") > *").focus();
                                return;
                            }
                        }
                        tr.find("td:eq("+index+") > ul > li:eq("+indexUl+") > *").focus();
                        return;
                   }else{
                     if(index==8 && tieneCC){
                         index=3;
                     }       
                     if(index==-1 ||(index==0 && tieneCC)){
                         tr=tr.prev();
                         if(tr.index()==-1){
                             $("input[name=concepto]").focus();
                         }
                         index=10;
                         if(jQuery.isEmptyObject(tr)){
                            $("#montoliteral").focus();
                         }
                     }   


                   }

                   tr.find("td:eq("+index+") > *").focus();
                   return;
                }
            }

         function nuevaSucursal(elemento){
             if(elemento==1){
                 var nit=$("input[name=nit]").val();
                 var direccions=$("input[name=direccions]").val();
                 var telefonos=$("input[name=telefonos]").val();
                $.post(url,{proceso:"nuevaSucursal",nit:nit,direccions:direccions,telefonos:telefonos},function(responsetext){
                    cargarcombo();
                    ocultarPanelsucursal();
                }); 
             }else{
                ocultarPanelsucursal(); 
             }
         }
         var ListaCuentaContable=[];
         
          var idComprobante=<%out.print(request.getParameter("id"));%>;
          var recurrente = 0;
          var idreferencial = 0;
          var estadoAnulado = <%out.print(request.getParameter("anulado"));%>;
         function abrirComprobante(){
            if(idComprobante!= null)
            {
                $("#CrearNuevo").html("<img src='../img/iconos/modificarComprobante.png' alt=''/><br/>Modificar");
                $.post(url,{proceso:"obtenerComprobante",id:idComprobante},function(responsetext){
                    var jsonObj = jQuery.parseJSON( responsetext );
                    if(idComprobante!=null){
                        $("#exportar").css("display","inline-block");
                        $("#imprimir").css("display","inline-block");
                    }
                    $("select[name=regional] option").each(function(){
                       if($(this).val()==jsonObj.regional){
                           $(this).attr("selected",true);
                       } 
                    });
                    var tipo = <%out.print(tipo);%>;
                    //selecciona el tipo de comprobante INGRESO;EGRESO;TRASPASO
                    if(tipo==0.0){
                        $("#tipo").text("INGRESO");
                        $("#tipo").data("id");
                    }
                    var ch="style='display:none;'";
                    if(tipo==1.0){
                        $("#tipo").text("EGRESO");
                        if(jsonObj.cargoC==0){
                            $("#cargoCuenta input").attr("checked",true);
                        }else{
                            $("#cargoCuenta input").attr("checked",false);
                        }
                        $("#tipo").data("id");
                        ch="";
                    }
                    if(tipo==2.0)
                    {
                        $("#tipo").text("TRASPASO");
                        $("#tipo").data("id");
                    }
                    $("#descripcion").val(jsonObj.descripcion);
                    $("input[name=concepto]").val(jsonObj.glosa);
                    if(jsonObj.codigorecurrente==0 )
                    {
                        var codigo = (jsonObj.codigo).split("-");
                        $("#idcomprovante").html(codigo[0]);
                        $("#fechaComprobante").html(codigo[1]+"-"+codigo[2]);
                        $("#fechaFormulario").val(jsonObj.fecha);    
                    }
                    else
                    {                                
                        //comprobante recurrente
                        if(codigo_recurrente==9 ||jsonObj.codigorecurrente<24 && jsonObj.codigorecurrente>=6)
                        {
                            estadoModificar=0;                                        
                        }
                        else
                        {
                            $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");                                        
                        }
                            idComprobante=null;
                            recurrente=jsonObj.codigorecurrente;                                    
                    }
                    $("#montoliteral").val(jsonObj.montoLiteral);    
                    $.each(tipoCambioBs,function(i,item){
                        $.each(jsonObj.moneda,function(i2,item2){
                            if((item.CODIGO) == item2.id){
                                tipoCambioBs[i].TPCAMBIO=item2.valor;
                                return false;
                            }
                        });
                    });
                    ListatipoCambio();
                    var idCuenta="0";
                    inicial=jsonObj.inicial;
                    $("#detallet").html("");
                    $.each(jsonObj.detalle,function(i,item){  
                        var proyecto="";
                        var back="";
                        if(parseInt(item.proyecto)>0){
                            proyecto="data-id='"+item.proyecto+"'";
                            back="style='background:green;'";
                        }
                        var retencion = "";
                        if(item.retencion==1){
                            retencion="<a href='#' onclick= \"abrirRetenciones(this,'"+item.cuenta+"', 1)\" name='retencion'><img src='../img/iconos/Retenciones.jpg' alt=''  style='display: none;'/></a>";
                        }    
                        if(item.cc !="0.0"){
                            if(idCuenta =="0"){
                                idCuenta=item.idcuenta;
                                var otratupla="<tr><td ><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a><a onclick=\"sliderCentroCosto(this)\"  name='SliderCC' style='display:none'><img src='../img/iconos/ocultar.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                                +"<td><input data-idr='"+item.id+"' class='normal' autofocus='true' name='codigoCuenta'  value='"+item.cuenta+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                               +"<td><input class='Extragrande' name='cuenta' type='text' value='"+item.cuentaD+"' disabled='disabled' /><ul class='contenedorCC'></ul></td>"
                                               +"<td><input class='mediano' name='glosa'  type='text' disabled='disabled' data-moneda='"+item.moneda+"'  value='"+item.glosa+"'/><ul class='contenedorCC'></ul></td>"
                                               +"<td><input class='pequeño' name='debe' value='"+item.debe+"' disabled='disabled'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                               +"<td><input class='pequeño' name='haber' value='"+item.haber+"' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                               +"<td><span class='pequeño' name='debeCambio'   >"+item.debe_tc+"</span><ul class='contenedorCC'></ul></td>"
                                               +"<td><span class='pequeño' name='haberCambio'  >"+item.haber_tc+"</span><ul class='contenedorCC'></ul></td>"               
                                               +" <td ><a href='#' onclick='eliminarFila(this)' style='display: none;'><img src='../img/iconos/X.png' alt=''/></a>"
                                               +" <a href='#' onclick='factura(this)' name='iconFactura' style='display: none;'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                               +"<a href='#'  onclick='cheque(this)' name='iconCheque'><img src='../img/iconos/factura.png' alt=''/></a>"
                                               +" <a name='proyecto' href='#'  style='display: none;' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'>"+retencion+"</span><span style='display: inline-block'><a href='#' onclick= \"abrirRetenciones(this,'"+item.cuenta+"',2)\" name='retencion'  style='display: none;'><img src='../img/iconos/ComprasVentas.jpg' alt=''/></a></span><ul class='contenedorCC'></ul>"
                                               +" </td>"+
                                               "</tr>";  
                                $("#detallet").append(otratupla);
                                eventoTupla($("#detallet tr:last"));
                            }
                            if(idCuenta==item.idcuenta){
                                var tr = $("#detallet tr:last");
                                tr.find("td:eq(0)").find(".contenedorCC").append('<li><a name="btnCC" href="#" onclick=\"popUpCC(this)\" style="display:none"><img src="../img/iconos/PopUp.png" alt=""/></a></li>');
                                tr.find("td:eq(1)").find(".contenedorCC").append("<li><input data-idr='"+item.id+"' class='normal' autofocus='true' type='text' value='"+item.codigo+"' disabled='disabled'/></li>");
                                tr.find("td:eq(2)").find(".contenedorCC").append("<li><input class='Extragrande' autofocus='true' type='text' value='"+item.desc+"' disabled='disabled' /></li>");
                                tr.find("td:eq(3)").find(".contenedorCC").append("<li><input class='mediano' autofocus='true' type='text' data-moneda='"+item.moneda+"' disabled='disabled' value='"+item.glosa+"'  /></li>");
                                tr.find("td:eq(4)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='debeCC' value='"+item.debe+"' disabled='disabled'  type='text' /></li>");
                                tr.find("td:eq(5)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='haberCC' value='"+item.haber+"' disabled='disabled' type='text' /></li>");
                                tr.find("td:eq(6)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioDebeCC' type='text' >"+item.debe_tc+"</span></li>");
                                tr.find("td:eq(7)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioHaberCC' type='text' >"+item.haber_tc+"</span></li>");
                                tr.find("td:eq(8)").find(".contenedorCC").append("<li "+back+"><a href='#' onclick='eliminarFilaCC(this)' style='display: none;'><img src='../img/iconos/X.png' alt=''/></a>"+
                                                                 "<a "+proyecto+" name='proyectoCC'  href='#' onclick='abrirProyecto(this)' style='display: none;'><img src='../img/iconos/Proyecto.jpg' alt=''/>"+
                                                                  "<a href='#' onclick='factura(this)' name='iconFacturaCC' style='display: none;'><img src='../img/iconos/factura.jpg' alt=''/></a>"+
                                                                  "<a href='#' "+ch+" onclick='cheque(this)' name='iconChequeCC'><img src='../img/iconos/factura.png' alt=''/></a>"+
                                                                  "</a><span style='display: inline-block'></span></li>");
                                eventoCentroCosto(tr);
                                //comprobante recurrente
                                if(jsonObj.codigorecurrente==5 || jsonObj.codigorecurrente==1 || jsonObj.codigorecurrente==3 || jsonObj.codigorecurrente==0)
                                    debeHaberCentroCostoSTC("",tr.find("li input")[0]);
                                else
                                    actualizar();
                                if(item.factura !="0"){
                                    item.factura.i=tr.index();
                                    item.factura.y=tr.find("td:eq(0) ul li:last").index();
                                    listaFactura.push(item.factura);
                                }
                                if(item.cheque !="0"){
                                    item.cheque.i=tr.index();
                                    item.cheque.y=tr.find("td:eq(0) ul li:last").index();
                                    listaCheque.push(item.cheque);
                                }
                            }else{
                                idCuenta="0";
                                if(idCuenta =="0"){
                                     idCuenta=item.idcuenta;
                                     var otratupla="<tr><td ><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a><a onclick=\"sliderCentroCosto(this)\"  name='SliderCC' style='display:none'><img src='../img/iconos/ocultar.png' alt=''/></a><ul class='contenedorCC'></ul></td>"
                                                 +"<td><input data-idr='"+item.id+"' class='normal' autofocus='true' name='codigoCuenta'  value='"+item.cuenta+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                                +"<td><input class='Extragrande' name='cuenta' type='text' value='"+item.cuentaD+"' disabled='disabled' /><ul class='contenedorCC'></ul></td>"
                                                +"<td><input class='mediano' name='glosa'  type='text' disabled='disabled' data-moneda='"+item.moneda+"'  value='"+item.glosa+"'/><ul class='contenedorCC'></ul></td>"
                                                +"<td><input class='pequeño' name='debe' value='"+item.debe+"' disabled='disabled'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                                +"<td><input class='pequeño' name='haber' value='"+item.haber+"' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                                +"<td><span class='pequeño' name='debeCambio'   >"+item.debe_tc+"</span><ul class='contenedorCC'></ul></td>"
                                                +"<td><span class='pequeño' name='haberCambio'  >"+item.haber_tc+"</span><ul class='contenedorCC'></ul></td>"               
                                                +" <td ><a href='#' onclick='eliminarFila(this)' style='display: none;'><img src='../img/iconos/X.png' alt=''/></a>"
                                                +" <a href='#' onclick='factura(this)' name='iconFactura' style='display: none;'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                                +"<a href='#'  onclick='cheque(this)' name='iconCheque'><img src='../img/iconos/factura.png' alt=''/></a>"
                                                +" <a name='proyecto' href='#'  style='display: none;' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'>"+retencion+"</span><span style='display: inline-block'><a href='#' onclick= \"abrirRetenciones(this,'"+item.cuenta+"',2)\" name='retencion'  style='display: none;'><img src='../img/iconos/ComprasVentas.jpg' alt=''/></a></span><ul class='contenedorCC'></ul>"
                                                +" </td>"+
                                                "</tr>";  
                                     $("#detallet").append(otratupla);
                                     eventoTupla($("#detallet tr:last"));
                                 }
                                 if(idCuenta==item.idcuenta){
                                    var tr = $("#detallet tr:last");
                                    tr.find("td:eq(0)").find(".contenedorCC").append('<li><a name="btnCC" href="#" onclick=\"popUpCC(this)\" style="display:none"><img src="../img/iconos/PopUp.png" alt=""/></a></li>');
                                    tr.find("td:eq(1)").find(".contenedorCC").append("<li><input data-idr='"+item.id+"' class='normal' autofocus='true' type='text' value='"+item.codigo+"' disabled='disabled'/></li>");
                                    tr.find("td:eq(2)").find(".contenedorCC").append("<li><input class='Extragrande' autofocus='true' type='text' value='"+item.desc+"' disabled='disabled' /></li>");
                                    tr.find("td:eq(3)").find(".contenedorCC").append("<li><input class='mediano' autofocus='true' type='text' data-moneda='"+item.moneda+"' disabled='disabled' value='"+item.glosa+"'  /></li>");
                                    tr.find("td:eq(4)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='debeCC' value='"+item.debe+"' disabled='disabled'  type='text' /></li>");
                                    tr.find("td:eq(5)").find(".contenedorCC").append("<li><input class='pequeño' autofocus='true' name='haberCC' value='"+item.haber+"' disabled='disabled' type='text' /></li>");
                                    tr.find("td:eq(6)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioDebeCC' type='text' >"+item.debe_tc+"</span></li>");
                                    tr.find("td:eq(7)").find(".contenedorCC").append("<li><span class='pequeño' autofocus='true'  name='cambioHaberCC' type='text' >"+item.haber_tc+"</span></li>");
                                    tr.find("td:eq(8)").find(".contenedorCC").append("<li "+back+"><a href='#' onclick='eliminarFilaCC(this)' style='display: none;'><img src='../img/iconos/X.png' alt=''/></a>"+
                                                                     "<a "+proyecto+" name='proyectoCC'  href='#' onclick='abrirProyecto(this)' style='display: none;'><img src='../img/iconos/Proyecto.jpg' alt=''/>"+
                                                                      "<a href='#' onclick='factura(this)' name='iconFacturaCC' style='display: none;'><img src='../img/iconos/factura.jpg' alt=''/></a>"+
                                                                      "<a href='#' "+ch+" onclick='cheque(this)' name='iconChequeCC'><img src='../img/iconos/factura.png' alt=''/></a>"+
                                                                      "</a><span style='display: inline-block'></span></li>");
                                    eventoCentroCosto(tr);
                                    //comprobante recurrente
                                    if(jsonObj.codigorecurrente==5   || jsonObj.codigorecurrente==1 || jsonObj.codigorecurrente==3 || jsonObj.codigorecurrente==0)
                                        debeHaberCentroCostoSTC("",tr.find("li input")[0]);
                                    else
                                        actualizar();
                                    
                                    
                                    if(item.factura !="0"){
                                        item.factura.i=tr.index();
                                        item.factura.y=tr.find("td:eq(0) ul li:last").index();
                                        listaFactura.push(item.factura);
                                    }
                                    if(item.cheque !="0"){
                                        item.cheque.i=tr.index();
                                        item.cheque.y=tr.find("td:eq(0) ul li:last").index();
                                        listaCheque.push(item.cheque);
                                    }
                                }
                            }
                               
                        }else{
                            
                            idCuenta="0";
                            var otratupla="<tr><td ><a onclick='insertarTuplaCuenta(this)'><img src='../img/iconos/mas.png'></a><ul class='contenedorCC'></ul></td>"
                                      +"<td><input data-idr='"+item.id+"' class='normal' autofocus='true' name='codigoCuenta'  value='"+item.cuenta+"' disabled='disabled' type='text' /><ul class='contenedorCC'></ul></td>"
                                      +"<td><input class='Extragrande' name='cuenta' type='text' value='"+item.cuentaD+"' disabled='disabled' /><ul class='contenedorCC'></ul></td>"
                                      +"<td><input class='mediano' name='glosa'  type='text' disabled='disabled' data-moneda='"+item.moneda+"'  value='"+item.glosa+"'/><ul class='contenedorCC'></ul></td>"
                                      +"<td><input class='pequeño' name='debe'   value='"+item.debe+"' disabled='disabled'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                      +"<td><input class='pequeño' name='haber'  value='"+item.haber+"' disabled='disabled' type='text'  /><ul class='contenedorCC'></ul></td>"
                                      +"<td><span class='pequeño' name='debeCambio'   >"+item.debe_tc+"</span><ul class='contenedorCC'></ul></td>"
                                      +"<td><span class='pequeño' name='haberCambio'  >"+item.haber_tc+"</span><ul class='contenedorCC'></ul></td>"               
                                      +"<td "+back+"><a href='#' onclick='eliminarFila(this)' style='display: none;'><img src='../img/iconos/X.png' alt=''/></a>"
                                      +"<a href='#' onclick='factura(this)' name='iconFactura' style='display: none;'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                      +"<a href='#' "+ch+" onclick='cheque(this)' name='iconCheque'><img src='../img/iconos/factura.png' alt=''/></a>"
                                      +"<a name='proyecto' href='#' "+proyecto+" style='display: none;' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'>"+retencion+"</span><span style='display: inline-block'><a href='#' onclick= \"abrirRetenciones(this,'"+item.cuenta+"',2)\" name='retencion'  style='display: none;'><img src='../img/iconos/ComprasVentas.jpg' alt=''/></a></span><ul class='contenedorCC'></ul>"
                                      +"</td>"+
                                      "</tr>";   
                            $("#detallet").append(otratupla);
                            eventoTupla($("#detallet tr:last"));
                            
                            //comprobante recurrente
                            if(jsonObj.codigorecurrente==5 || jsonObj.codigorecurrente==0 || jsonObj.codigorecurrente==2 || jsonObj.codigorecurrente==1 || jsonObj.codigorecurrente==3)
                                debeHaberSTC("", $("#detallet tr:last").find("input")[0]);
                            else
                                actualizar();
                            
                            
                            if(item.factura !="0"){
                                item.factura.i=$("#detallet tr:last").index();
                                item.factura.y=-1;
                                listaFactura.push(item.factura);
                            }
                            if(item.cheque !="0"){
                                    item.cheque.i=$("#detallet tr:last").index();
                                    item.cheque.y=-1;
                                    listaCheque.push(item.cheque);
                            }
                        }
                    });
                    var retenciones=jsonObj.listaRetencion;
                        $.each(retenciones,function (i,item){
                            var cuenta=$("#detallet tr td input[data-idr="+item.cuenta+"]");
                            var cuentar=$("#detallet tr td input[data-idr="+item.retencion+"]");
                            var debe, haber, deber,haberr;

                            if(item.tipo=="0"){
                                deber=parseFloat(cuentar.parent().parent().find("input[name=debe]").val());
                                haberr=parseFloat(cuentar.parent().parent().find("input[name=haber]").val());
                            }else{
                                deber=parseFloat(cuentar.parent().parent().find("input[name=haber]").val());
                                haberr=parseFloat(cuentar.parent().parent().find("input[name=debe]").val());
                            }
                            if(cuenta.length>0 && cuentar.length>0){
                                var id=-1;
                                if(cuenta.parent().parent().find("li").length>0){
                                    id=cuenta.parent().parent().parent().parent().index();
                                    var tr=cuenta.parent().parent().parent().parent();
                                    var indice=cuenta.parent().index();
                                    tr.find("td:eq(8)").find(".contenedorCC li:eq("+indice+") span").html("<a href='#' data-gross='"+item.gross+"'  onclick= \"grossingUp(this,2)\" name='retencion'><img src='../img/iconos/grossingup.jpg' alt=''/></a>");
                                    var idMoneda=tr.find("input[name=glosa]").data("moneda");
                                    cambioManejado(idMoneda);
                                    if(typeof(tr.find("td:eq(4) li:eq("+indice+") input").data("val"))=="undefined"){
                                        debe=parseFloat(tr.find("td:eq(4) li:eq("+indice+") input").val());
                                        haber=parseFloat(tr.find("td:eq(5) li:eq("+indice+") input").val());
                                    }else{
                                        debe=parseFloat(tr.find("td:eq(4) li:eq("+indice+") input").data("val"));
                                        haber=parseFloat(tr.find("td:eq(5) li:eq("+indice+") input").data("val"));
                                    }
                                    debe=truncarDecimal(debe-truncarDecimal((deber/tipoCambio)/cuantoCentroCostoDebe(tr)));
                                    haber=truncarDecimal(haber-truncarDecimal((haberr/tipoCambio)/cuantoCentroCostoHaber(tr)));
                                    tr.find("td:eq(4) li:eq("+indice+") input").data("val",debe);
                                    tr.find("td:eq(5) li:eq("+indice+") input").data("val",haber);
                                    var cod=tr.find("input[name=codigoCuenta]").val();
                                    tr.find("td:eq(8) > span:eq(0)").html("<a data-gross='"+item.gross+"'  href='#' onclick= \"abrirRetenciones(this,'"+cod+"', 1)\" name='retencion'><img src='../img/iconos/Retenciones.jpg' alt=''/></a>");
                                }else{
                                    id=cuenta.parent().parent().index();
                                    var idMoneda=cuenta.parent().parent().find("input[name=glosa]").data("moneda");
                                    cambioManejado(idMoneda);

                                    if(typeof(cuenta.parent().parent().find("input[name=debe]").data("val"))=="undefined"){
                                        debe=parseFloat(cuenta.parent().parent().find("input[name=debe]").val());
                                        haber=parseFloat(cuenta.parent().parent().find("input[name=haber]").val());
                                    }else{
                                        debe=parseFloat(cuenta.parent().parent().find("input[name=debe]").data("val"));
                                        haber=parseFloat(cuenta.parent().parent().find("input[name=haber]").data("val"));
                                    }
                                    debe=truncarDecimal(debe-(deber/tipoCambio));
                                    haber=truncarDecimal(haber-(haberr/tipoCambio));
                                    cuenta.parent().parent().find("input[name=debe]").data("val",debe);
                                    cuenta.parent().parent().find("input[name=haber]").data("val",haber);
                                    var cod=cuenta.parent().parent().find("input[name=codigoCuenta]").val();
                                    cuenta.parent().parent().find("td:eq(8) > span:eq(0)").html("<a data-gross='"+item.gross+"'  href='#' onclick= \"abrirRetenciones(this,'"+cod+"', 1)\" name='retencion'><img src='../img/iconos/Retenciones.jpg' alt=''/></a>");
                                }
                                var retencion=item.monto;
                                cuentar.data("retencion",retencion);
                                cuentar.data("padre",id);
                                cuentar.data("tipo",item.tipo)
                            }
                        });
                        $("#detallet a").css("display","none");
                        codigo_recurrente = jsonObj.codigorecurrente;
                        /*if(jsonObj.codigorecurrente!=5)
                            debeHaber("",$("tr li input")[0]);
                        else
                            debeHaberCentroCostoSTC("",tr.find("li input")[0]);*/
                        $("#descripcion").attr("disabled", "disabled");
                        $("input[name=concepto]").attr("disabled", "disabled");
                        $("select[name=regional]").prop('disabled', 'disabled');
                        $("#fechaFormulario").prop('disabled', 'disabled');
                        if(estadoAnulado==1){
                            $("#CrearNuevo").html("");
                        }
                        if(estadoAnulado==0 && idreferencial ==0 && recurrente !=5){
                            $("#CrearNuevo").html("<img src='../img/iconos/modificarComprobante.png' alt=''/><br/>Modificar");
                            $("#Copia").data("recargo","1");
                        }
                        if(idreferencial != 0){
                            $("#Copia").remove();
                        }      
                        if(((mes+1)+"-"+ano)!= $("#fechaComprobante").text()){
                            $("#CrearNuevo").html("");
                        }
                        if(tipo!= jsonObj.tipo){
                            idreferencial=idComprobante;
                            idComprobante=null;
                            if(idreferencial != 0){
                                $("#Copia").remove();
                            }
                            $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Copiar");
                             $.post(url,{proceso:"idcomprobante",tipo:tipo},function(responsetext){
                                    $("#idcomprovante").html(responsetext);
                                    if(idreferencial != 0){
                                        $("#Copia").remove();
                                    }
                            });
                        }
                });
            }else{
                ListatipoCambio();
                $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                 if(estadoAnulado==1){
                    $("#CrearNuevo").html("");
                }

                if(estadoAnulado==0 && idreferencial ==0 && recurrente !=5){
                    $("#CrearNuevo").html("<img src='../img/iconos/modificarComprobante.png' alt=''/><br/>Modificar");
                     $("#Copia").data("recargo","1");
                }
                if(idreferencial != 0){
                    $("#Copia").remove();
                }
            }
         }
        function cuantoCentroCostoDebe(lista){
            var debe=0;
            $.each(lista.find("td:eq(4) ul li input"),function (i,item){
                var d=$(item).val();
                if(truncarDecimal(d)>0)debe++;
            });
            debe=debe==0?1:debe;
            return debe;
        }
        function cuantoCentroCostoHaber(lista){
            var haber=0;
            $.each(lista.find("td:eq(5) ul li input"),function (i,item){
                var d=$(item).val();
                if(truncarDecimal(d)>0)haber++;
            });
            haber=haber==0?1:haber;
            return haber;
        }
        var listaCuentasRestringidas=<%
              CON_CARGO_CUENTA c=new CON_CARGO_CUENTA();
              c.setCon(con);
              List<CON_CARGO_CUENTA> lista = c.TodosxCargo(usuario.getID_CARGO());
              String idsRest="";
              for (int i = 0; i < lista.size(); i++) 
              {
                  idsRest+=lista.get(i).getID_CUENTA()+",";
              }
              if(idsRest.length()==0){
                out.print("[]");
              }else{
                idsRest = idsRest.substring(0,idsRest.length()-1);
                out.print("["+idsRest+"];");    
              }
              
         %>
         function copiarComprobante(tipo){
             if(tipo==0){
                $("#tipo").text("INGRESO");
                $("#tipo").data("id","0.0");
                $("#cargoCuenta").css("display","none");
              }
              if(tipo==1){
                $("#tipo").text("EGRESO");
                $("#tipo").data("id","1.0");
                $("#cargoCuenta").css("display","block");
                $("#detallet a[name=iconCheque]").css("display","inline-block");
                $("#detallet a[name=iconChequeCC]").css("display","inline-block");
              }
              if(tipo==2){
                $("#tipo").text("TRASPASO");
                $("#tipo").data("id","2.0");
                $("#cargoCuenta").css("display","none");
              }
              listaCheque=[];
              listaFactura=[];
                if(idComprobante != null){
                    $("#detallet input").removeAttr("disabled");
                    $("#detallet a").css("display","inline-block");
                    idComprobante=null;
                }
                 $("#detallet tr").each(function(){
                    if($(this).find("td:eq(2) ul li").length>0){
                        $(this).find("a[name=iconCheque]").css("display","none");
                        $(this).find("a[name=proyecto]").css("display","none");
                        $(this).find("a[name=iconFactura]").css("display","none");
                    } 
                });
                
                $.post(url,{proceso:"idcomprobante",tipo:tipo},function(responsetext){
                         $("#idcomprovante").html(responsetext);
                         $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                         $("#fechaComprobante").html((mes+1)+"-"+ano);
                          $("#fechaFormulario").datepicker("setDate", new Date(ano,mes,dia));
                        if(parseInt($("#tipo").data("id")) != 1){
                            $("#detallet a[name=iconCheque]").css("display","none");
                            $("#detallet a[name=iconChequeCC]").css("display","none");
                        }
                });
            $("#popUpcopiar").css("display","none");
            $("#popUpbackGround").css("display","none");
            $("#descripcion").removeAttr("disabled");
            $("input[name=concepto]").removeAttr("disabled");
            $("select[name=regional]").prop('disabled', false);
            $("#fechaFormulario").prop('disabled', false);
          }
           $("#Copia").click(function(){
                if(idreferencial != 0){
                    $("#tipo").text("TRASPASO");
                    $("#tipo").data("id","2.0");
                    $("#detallet input").removeAttr("disabled");
                    $("#detallet a").css("display","inline-block");
                    idComprobante=null;
                    $("#popUpcopiar").css("display","none");
                    $("#popUpbackGround").css("display","none");
                    $("#descripcion").removeAttr("disabled");
                    $("input[name=concepto]").removeAttr("disabled");
                    $("select[name=regional]").prop('disabled', false);
                    $("#fechaFormulario").prop('disabled', false);
                    $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                    return;
                }
                $("#popUpcopiar").css("display","block");
                $("#popUpbackGround").css("display","block");
            });
            $("#nuevoc").click(function(){
                   var otratupla="<tr><td></td>"
                                        +"<td><input class='normal' autofocus='true' name='codigoCuenta' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +"<td><input class='Extragrande' name='cuenta' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='mediano' name='glosa' value='' type='text' /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='debe'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><input class='pequeño' name='haber'  type='text'  /><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='debeCambio'   ></span><ul class='contenedorCC'></ul></td>"
                                       +" <td><span class='pequeño' name='haberCambio'  ></span><ul class='contenedorCC'></ul></td>"               
                                       +" <td><a href='#' onclick='eliminarFila(this)'><img src='../img/iconos/X.png' alt=''/></a>"
                                       +" <a href='#' onclick='factura(this)'><img src='../img/iconos/factura.jpg' alt=''/></a>"
                                       +" <a name='proyecto' href='#' data-id='0' onclick=\"abrirProyecto(this)\"><img src='../img/iconos/Proyecto.jpg' alt=''/></a><span style='display: inline-block'></span><span style='display: inline-block'></span><ul class='contenedorCC'></ul>"
                                       +" </td>"+
                                "</tr>";
                    $("#detallet").html(otratupla);
                    $("#totaldebeCambio").text("");
                    $("#totalhaberCambio").text("");
                    $("#montoliteral").val("");
                    $("#descripcion").val("");
                    $("input[name=concepto]").val("");
                     $("#descripcion").removeAttr("disabled");
                    $("input[name=concepto]").removeAttr("disabled");
                    $("select[name=regional]").prop('disabled', false);
                    $("#fechaFormulario").prop('disabled', false);
                    $("#detallet a").css("display","inline-block");
                    estadoModificar++;
                    $("#CrearNuevo").html("<img src='../img/iconos/generarComprobante.png' alt=''/><br/>Generar");
                    eventoTupla($("tr"));
                    idComprobante=null;
                    listaCheque=[];
                    listaFactura=[];
                   $("#montoliteral").val("");
                   return;
            });
         var popupCancel=0;
         var monedaInflasionaria=0;
        var proovedor=0;
       $("input[name=codigoControl]").keyup(function(){
            var text=$("input[name=codigoControl]").val().replace(/\-/g, '');
            var resl="";
            for (i = 1; i <= text.length; i++) {
                resl+=text.substring(i-1,i);
                if(i%2==0){
                  resl+="-";
                }
            }
            if(resl.substring(resl.length-1,resl.length) == "-"){
             resl=resl.substring(0,resl.length-1);
            }
            $("input[name=codigoControl]").val(resl);
        });
       
        $(document).ready(function(){
             $("#popUpTipoCambio").css({
                left: $(window).width()- ($('#popUpTipoCambio').outerWidth()+20),
                top: 80
            });
               $("#detallet tr input[name=glosa]").keyup(function(){
                   $("input[name=concepto]").val($(this).val());
                });
                $( "#popUpTipoCambio" ).draggable();
                $( "#popUpFacturaProvedor" ).draggable();
                $("input[name=fechaFactura]").datepicker("setDate", new Date(ano,mes,dia));
                $("input[name=fechaFactura]").datepicker({ dateFormat: "dd/mm/yy",});
                $("input[name=fecha_Cheque]").datepicker("setDate", new Date(ano,mes,dia));
                $("input[name=fecha_Cheque]").datepicker({ dateFormat: "dd/mm/yy",});          
                 monedaBase='<%out.print(moneda.getACRONIMO());%>';
                 monedaInflasionaria='<%
                 moneda=moneda.getMonedaBase(2);
                 out.print(moneda.getACRONIMO());
                 %>';
                 monedaReferencial='<%
                 moneda=moneda.getMonedaBase(1);
                 out.print(moneda.getACRONIMO());
                 %>';
                 eventoTupla($("#detallet tr:first"));
                 if($("#tipo").data("id")=="1.0"){
                     $("#cargoCuenta").css("display","block");
                }
                 
                $(document).click(function(){
                    if(popupCancel){
                     $("#resultado").css("display","none");
                    }
                    popupCancel++;
                    if(popupCancel > 2){
                        $("#contenedorRetenciones").css("display","none");
                        $("#contenedorProyecto").css("display","none");
                        popupCancel=0;
                    }
                });
                
                $("input[name=razonSocial]").focusout(function(){
                    if(proovedor==0)
                    $.post(url,{proceso:"crearProovedor",nit:$("input[name=nit]").val(),rz:$("input[name=razonSocial]").val()},function(responsetext){
                        proovedor=1;
                    });
                });
                $("input[name=nit]").focusout(function(){
                    cargarcombo();
                });
                $("a[name=iconCheque]").css("display","none");
                if(parseInt($("#tipo").data("id"))== 1){
                        $("a[name=iconCheque]").css("display","inline-block");
                }
                versionamiento();
            });
            
            function cargarcombo(id)
            {
                
                proovedor=0;
                    $.post(url,{proceso:"existeprovedor",nit:$("input[name=nit]").val()},function(responsetext){
                        if(responsetext.length > 0){
                            proovedor=1;
                            var json =$.parseJSON(responsetext);
                            $("input[name=razonSocial]").val(json.rz);
                            var sucur=json.sucursal;
                            $("select[name=sucursalFactura]").html("<option value='0'>Seleccione Sucursal</option>");
                            for (var i = 0; i < json.sucursal.length; i++) {
                                var algo="";
                                if(id==parseInt(sucur[i].id))algo="selected=selected";
                               $("select[name=sucursalFactura]").append("<option "+algo+" value='"+parseInt(sucur[i].id)+"'>"+sucur[i].desc+"</option>");
                            }
                        }
                    });
            }
           function versionamiento(){
                var versionCuenta=localStorage['versionCuentaHoja'];
                if(typeof (versionCuenta)=="undefined")
                    versionCuenta=-1;
                $("#popUpCarga").css("display","block");
                $("#popUpbackGround").css("display","block");
                $.post(url,{proceso:"version"},function(responsetext){
                     var json=$.parseJSON(responsetext);
                     if(json.cuenta!=versionCuenta){
                         cargarCuentas(json.cuenta,versionCuenta);
                     }else{
                        ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                        $("#popUpCarga").css("display","none");
                        $("#popUpbackGround").css("display","none");
                        actualizarCambio();
                     }
                });
               
            }
            function cargarCuentas(versionCuenta,vcuenta){
                ListaCuentaContable = $.parseJSON(localStorage['CuentaContableHoja']);
                if(ListaCuentaContable==null){
                    ListaCuentaContable=[];
                }
                $.post(url,{proceso:"cargarCuenta",cuenta:vcuenta},function(responsetext){
                    var json=$.parseJSON(responsetext);
                    localStorage['versionCuentaHoja']=versionCuenta;
                    if(vcuenta==-1){
                        if(typeof(ListaCuentaContable)!="undefined")
                        ListaCuentaContable=json.cuenta;
                    }else{
                        $.each(json.cuenta, function(){
                            var item=$(this);
                            if(item.CODIGO=="na"){
                                delete ListaCuentaContable["c"+item.id];
                            }else{
                                 ListaCuentaContable["c"+parseInt(item.id)]={
                                     CODIGO:item.CODIGO,
                                     MONEDA : item.MONEDA,
                                     DESCRIPCION : item.DESCRIPCION,
                                     NIVEL :item.NIVEL,
                                     id :item.id,
                                     idnivel : item.idnivel,
                                     tipo : item.tipo
                                 }; 
                             } 
                         });
                    }
                    localStorage["CuentaContableHoja"] = JSON.stringify(ListaCuentaContable);
                    $("#popUpCarga").css("display","none");
                    $("#popUpbackGround").css("display","none");
                    actualizarCambio();
                });
            }
            function exportarPdf(){
                var doc=Pdf();
                doc.save('nuevo.pdf');
            }
            var inicial="";
            function imprimirPdf(){
                var doc=Pdf();
                var string = doc.output('datauri');
                var iframe = "<embed src='"+string+"' style=\"width: 900px; height: 600px; margin: 0 auto; display: block;\">";
                var x = window.open();
                x.document.open();
                x.document.write(iframe);
                x.document.close();
            }
            function Pdf(){
                var doc = new jsPDF("p","mm","letter");
                var date = new Date();
                var mes=(date.getMonth()+1)+"";
                mes=mes.length==1?"0"+mes:mes;
                var dia=date.getDate()+"";
                dia=dia.length==1?"0"+dia:dia;
                var año=date.getFullYear();
                var hora=date.getHours()+"";
                hora=hora.length==1?"0"+hora:hora;
                var min=date.getMinutes()+"";
                min=min.length==1?"0"+min:min;
                var seg=date.getSeconds()+"";
                seg=seg==1?"0"+seg:seg;
                var fecha2=dia+"/"+mes+"/"+año+" "+hora+":"+min+":"+seg;
                var titulo=$("#titulo").text();
                var moneda=$("#cambio").text();
                var gestion=$("#gestion").text();
                var subtitulo=$("#subtitulo").text();
                var expresado=$("#expresado").text();
                var regional=$("select[name=regional] option:selected").text();
                var fecha=$("#fechaFormulario").val();
                var tipo=$("#tipo").data("id");
                var hoja=1;
                var monedacambio="";
                if(moneda===monedaBase){
                    monedacambio=monedaReferencial;
                }else{
                    monedacambio=monedaBase;
                }
                var cambiomonedaUso=0;
                var cambiomonedaSgt=0;
                for (i = 0; i < tipoCambioBs.length; i++) {
                    if(monedacambio==tipoCambioBs[i].ACRONIMO){
                       cambiomonedaUso=tipoCambioBs[i].TPCAMBIO;
                    }   
                    if(moneda==tipoCambioBs[i].ACRONIMO){
                       cambiomonedaSgt=tipoCambioBs[i].TPCAMBIO;
                    }   
                }
                
                var concepto=$("input[name=concepto]").val();
                doc.setFontSize(12);
                doc.setFontType("bold");
                doc.text(20,20,titulo);
                doc.setFontType("normal");
                doc.setFontSize(12);
                doc.text((20+titulo.length+(titulo.length*0.2)-gestion.length),25,gestion);
                doc.setFontSize(12);
                doc.setFontType("bold");
                doc.text(65,35,subtitulo);
                doc.text(190,45,inicial);
                doc.setFontType("normal");
                doc.setFontSize(9);
                doc.text(95,40,expresado);
                doc.setFontSize(10);
                doc.text(10,50,"Fecha: "+regional+", "+fecha);
                if(tipo=="1.0"){
                    doc.text(10,55,"PAGADO A: "+concepto);
                }else{
                    doc.text(10,55,"CONCEPTO: "+concepto);
                }
                if(moneda===monedaBase){
                    doc.text(165,55,"Tipo de cambio: "+cambiomonedaUso+" "+monedaReferencial);
                }else{
                    doc.text(165,55,"Tipo de cambio: "+cambiomonedaSgt+" "+moneda);
                }

                doc.line(10,60,206,60);
                doc.setFontType("bold");
                doc.setFontSize(8);
                doc.text(34,63,"CUENTA");
                doc.text(100,63,"GLOSA");
                doc.text(145,63,"DEBE");
                doc.text(165,63,"HABER");
                doc.text(185,63,"CHEQUE");
                doc.line(10,65,206,65);
                
                var fila=68;
                var puntoini=60;
                var tabla=$("#detallet tr");
                doc.setFontSize(6);
                doc.setFontType("normal");
                for (i = 0; i < tabla.length; i++) {
                    var tr=$(tabla[i]);
                    var codigo=tr.find("input[name=codigoCuenta]").val();
                    var cuenta=tr.find("input[name=cuenta]").val();
                    var glosa=tr.find("input[name=glosa]").val();
                    var debe=tr.find("span[name=debeCambio]").text();
                    var haber=tr.find("span[name=haberCambio]").text();
                    var cheque="";
                    for (j = 0; j < listaCheque.length; j++) {
                        if(listaCheque[j].i===tr.index()){
                            cheque=listaCheque[j].numero_Cheque;
                        }
                    }
                    var cuentacodi=codigo+" "+cuenta;
                    if(cuentacodi.length>42){
                        cuentacodi=cuentacodi.substring(0,42)+"..";
                    }
                    doc.text(11,fila,cuentacodi);
                    doc.text(72,fila,glosa);
                    doc.text(160-(debe.length*1.2),fila,debe);
                    doc.text(180-(haber.length*1.2),fila,haber);
                    doc.text(182,fila,cheque);
                    fila+=3;
                    if(fila>261){
                        doc.line(10,puntoini,10,fila);
                        doc.line(70,puntoini,70,fila);
                        doc.line(140,puntoini,140,fila);
                        doc.line(160,puntoini,160,fila);
                        doc.line(180,puntoini,180,fila);
                        doc.line(206,puntoini,206,fila);
                        fila+=1;
                        doc.line(10,fila,206,fila);
                        doc.text(5,276,"Fecha realizda:  "+fecha2);
                        doc.text(202,276,"Hoja #"+hoja);
                        hoja++;
                        puntoini=10;
                        fila=12;
                        doc.addPage(); 
                    }
                }
                doc.line(10,fila,206,fila);
                fila+=3;
                if(fila+9>261){
                    doc.text(5,276,"Fecha realizda:  "+fecha2);
                    doc.text(202,276,"Hoja #"+hoja);
                    hoja++;
                    fila=12;
                    doc.addPage();
                }
                
                doc.setFontType("bold");
                doc.text(113,fila,"SUMA PARCIAL: "+moneda+".");
                var totaldebe=$("#totaldebeCambio").text();
                var totalhaber=$("#totalhaberCambio").text();
                doc.text(159-(totaldebe.length*1.2),fila,totaldebe);
                doc.text(179-(totalhaber.length*1.2),fila,totalhaber);
                var totaldebecambio=parseFloat(totaldebe);
                var totalhabercambio=parseFloat(totalhaber);
                if(moneda===monedaBase){
                    totaldebecambio/=parseFloat(cambiomonedaUso);
                    totalhabercambio/=parseFloat(cambiomonedaUso);
                    
                }else{
                    totaldebecambio*=parseFloat(cambiomonedaSgt);
                    totalhabercambio*=parseFloat(cambiomonedaSgt);
                }
                totaldebecambio=truncarDecimal(totaldebecambio);
                totalhabercambio=truncarDecimal(totalhabercambio);
                var debeleng=totaldebecambio+"";
                var haberleng=totalhabercambio+"";
                fila+=3;
                if(moneda===monedaBase){
                    doc.text(133.5,fila,monedaReferencial+".");
                }else{
                    doc.text(133.5,fila,monedaBase+".");
                }
                doc.text(160-(debeleng.length*1.2),fila,debeleng);
                doc.text(180-(haberleng.length*1.2),fila,haberleng);
                fila+=1;
                doc.line(10,fila,206,fila);
                doc.line(70,puntoini,70,fila);
                doc.line(140,puntoini,140,fila);
                doc.line(160,puntoini,160,fila);
                doc.line(180,puntoini,180,fila);
                fila+=3;
                var description=$("#descripcion").val();
                doc.setFontType("normal");
                doc.text(12,fila,description);
                fila+=2;
                doc.line(10,puntoini,10,fila);
                doc.line(206,puntoini,206,fila);
                doc.line(10,fila,206,fila);
                fila+=5;
                if(fila+25>261){
                    doc.text(5,276,"Fecha realizda:  "+fecha2);
                    doc.text(202,276,"Hoja #"+hoja);
                    hoja++;
                    fila=12;
                    doc.addPage();
                }
                if($("#tipo").data("id")==="1.0"){
                    doc.rect(10,fila,45,24);
                    doc.line(12,fila+19,53,fila+19);
                    doc.rect(62,fila,45,24);
                    doc.line(64,fila+19,103,fila+19);
                    doc.rect(112,fila,45,24);
                    doc.line(114,fila+19,155,fila+19);
                    doc.rect(161,fila,45,24);
                    doc.line(163,fila+19,204,fila+19);
                    doc.setFontSize(5);
                    doc.text(163,fila+4,"NOMBRE:");
                    doc.text(163,fila+8,"CI:");
                    doc.line(172,fila+4,204,fila+4);
                    doc.line(166,fila+8,204,fila+8);
                    doc.setFontSize(7);
                    fila+=22;
                    doc.text(22,fila,"ELABORADO POR");
                    doc.text(75,fila,"REVISADO POR");
                    doc.text(125,fila,"APROBADO POR");
                    doc.text(173,fila,"RECIBI CONFORME");
                }else{
                    doc.rect(10,fila,60,24);
                    doc.line(15,fila+19,65,fila+19);
                    doc.rect(78,fila,60,24);
                    doc.line(83,fila+19,133,fila+19);
                    doc.rect(146.1,fila,60,24);
                    doc.line(151,fila+19,201,fila+19);
                    fila+=22;
                    doc.text(28,fila,"ELABORADO POR");
                    doc.text(98,fila,"REVISADO POR");
                    doc.text(166,fila,"APROBADO POR");
                }
                doc.text(5,276,"Fecha realizda:  "+fecha2);
                doc.text(202,276,"Hoja #"+hoja);
                
                hoja++;    
                return doc;
            }
           
        </script>    
        
                       
    </body>    
</html>
